Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Signal Android 7.14.2 crashing on startup with bad KEM key type #13668

Open
4 tasks done
bboybboy opened this issue Aug 23, 2024 · 8 comments
Open
4 tasks done

Signal Android 7.14.2 crashing on startup with bad KEM key type #13668

bboybboy opened this issue Aug 23, 2024 · 8 comments

Comments

@bboybboy
Copy link


Bug description

Signal Android app crashing on startup after adding linked device

Steps to reproduce

  • Login in your account
  • Link device
  • Close app

Actual result: App crashing on startup
Expected result: App should open normally

Device info

Device: Motorola Edge 20
Android version: 13
Signal version: 7.14.2

Link to debug log

logs

08-23 17:05:55.618  4976  6569 E AndroidRuntime: java.lang.AssertionError: org.signal.libsignal.protocol.InvalidKeyException: bad KEM key type <0x05>
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.signal.libsignal.internal.FilterExceptions.reportUnexpectedException(FilterExceptions.java:70)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.signal.libsignal.internal.FilterExceptions.filterExceptions(FilterExceptions.java:114)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.signal.libsignal.protocol.state.KyberPreKeyRecord.getKeyPair(KyberPreKeyRecord.java:53)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.thoughtcrime.securesms.jobs.PreKeysSyncJob.checkPreKeyConsistency(PreKeysSyncJob.kt:267)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.thoughtcrime.securesms.jobs.PreKeysSyncJob.onRun(PreKeysSyncJob.kt:131)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.thoughtcrime.securesms.jobs.BaseJob.run(BaseJob.java:31)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:88)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:51)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: Caused by: org.signal.libsignal.protocol.InvalidKeyException: bad KEM key type <0x05>
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.signal.libsignal.internal.Native.KyberPreKeyRecord_GetKeyPair(Native Method)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.signal.libsignal.protocol.state.KyberPreKeyRecord.lambda$getKeyPair$3(KyberPreKeyRecord.java:53)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.signal.libsignal.protocol.state.KyberPreKeyRecord.$r8$lambda$zilH1BOxGnLVbEOx41IkVvkRw7E(KyberPreKeyRecord.java:0)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.signal.libsignal.protocol.state.KyberPreKeyRecord$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	at org.signal.libsignal.internal.FilterExceptions.filterExceptions(FilterExceptions.java:110)
08-23 17:05:55.618  4976  6569 E AndroidRuntime: 	... 6 more

full log - https://gist.github.com/bboybboy/fc50d69dd5e10a4aadc19d30d291012a

@huowen2020
Copy link

my signal keeps crashing with "bad KEM key type <0x05>". it crashes once it opens. here are messages from the log:

Android : 13, API 33 (T870XXS7DXE3, TP1A.220624.014.T870XXS7DXE3)
ABIs : arm64-v8a, armeabi-v7a, armeabi
Memory : 49M (47.76% free, 512M max)
Memclass : 512
MemInfo : availMem: 3299 mb, totalMem: 7643 mb, threshold: 216 mb, lowMemory: false

User-Agent : Signal-Android/7.14.2 Android/33
SlowNotifications : false
IgnoringBatteryOpt: false
BkgRestricted : false
Data Saver : DISABLED
APNG Animation : true
App : Signal 7.14.2 (1446, 144600) (879c794)
Package : org.thoughtcrime.securesms (doDiFGKPO1r)

[7.14.2] [73 ] 2024-08-25 11:08:49.216 EDT D StorageSyncHelper: No need for sync. Last sync was 884019 ms ago.
[7.14.2] [76 ] 2024-08-25 11:08:49.217 EDT I PendingRetryReceiptMana: Next closest expiration is in 2079421 ms for timestamp 1724596806432.
[7.14.2] [67 ] 2024-08-25 11:08:49.217 EDT D JobManager: Initialized
[7.14.2] [main ] 2024-08-25 11:08:49.218 EDT I JobManager: onConstraintMet(NetworkConstraintObserv)
[7.14.2] [71 ] 2024-08-25 11:08:49.220 EDT I ApplicationContext: Deleted 0 abandoned attachments.
[7.14.2] [81 ] 2024-08-25 11:08:49.223 EDT I JobRunner: [JOB::bc255818-eb17-4d1b-bbe1-f68543e41e6f][PreKeysSyncJob][3] Running job. (Time Since Submission: 14888835 ms, Lifespan: 2592000000 ms, Run Attempt: 1/Unlimited, Queue: PreKeysSyncJob)
[7.14.2] [75 ] 2024-08-25 11:08:49.224 EDT I ViewOnceMessageManager: No messages to schedule.
[7.14.2] [65 ] 2024-08-25 11:08:49.225 EDT I PersistentAlarmManagerL: [RotateSenderCertificateListener] onReceive(signal.ACTION_SCHEDULE)
[7.14.2] [65 ] 2024-08-25 11:08:49.225 EDT I PersistentAlarmManagerL: [RotateSenderCertificateListener] scheduling alarm for: 1724629869080
[7.14.2] [81 ] 2024-08-25 11:08:49.226 EDT W PreKeysSyncJob: [JOB::bc255818-eb17-4d1b-bbe1-f68543e41e6f][PreKeysSyncJob] Forced rotation was requested. (Time Since Submission: 14888838 ms, Lifespan: 2592000000 ms, Run Attempt: 1/Unlimited, Queue: PreKeysSyncJob)
[7.14.2] [81 ] 2024-08-25 11:08:49.226 EDT W PreKeysSyncJob: [JOB::bc255818-eb17-4d1b-bbe1-f68543e41e6f][PreKeysSyncJob][ACI] Active Signed EC: 1121315, Last Resort Kyber: 1121315 (Time Since Submission: 14888838 ms, Lifespan: 2592000000 ms, Run Attempt: 1/Unlimited, Queue: PreKeysSyncJob)
[7.14.2] [81 ] 2024-08-25 11:08:49.226 EDT W PreKeysSyncJob: [JOB::bc255818-eb17-4d1b-bbe1-f68543e41e6f][PreKeysSyncJob][PNI] Active Signed EC: 3283032, Last Resort Kyber: 3283032 (Time Since Submission: 14888838 ms, Lifespan: 2592000000 ms, Run Attempt: 1/Unlimited, Queue: PreKeysSyncJob)
[7.14.2] [65 ] 2024-08-25 11:08:49.227 EDT I RoutineMessageFetchRece: Alarm scheduled to repeat at interval 10800000
[7.14.2] [65 ] 2024-08-25 11:08:49.227 EDT I PersistentAlarmManagerL: [AnalyzeDatabaseAlarmListener] onReceive(signal.ACTION_SCHEDULE)
[7.14.2] [65 ] 2024-08-25 11:08:49.232 EDT I PersistentAlarmManagerL: [AnalyzeDatabaseAlarmListener] scheduling exact alarm for: 1724655879000 hasManagerPermission: true
[7.14.2] [71 ] 2024-08-25 11:08:49.233 EDT D EmojiFiles: Verifying all name files exist.
[7.14.2] [71 ] 2024-08-25 11:08:49.236 EDT D EmojiFiles: All names exist? true
[7.14.2] [82 ] 2024-08-25 11:08:49.263 EDT I JobRunner: [JOB::94b64f78-8b30-42d6-8734-54ee0a384e9a][RetrieveProfileJob][4] Running job. (Time Since Submission: 856065 ms, Lifespan: Immortal, Run Attempt: 1/3, Queue: null)
[7.14.2] [80 ] 2024-08-25 11:08:49.265 EDT I JobRunner: [JOB::2d062366-e6b5-42b2-85eb-1e3a49314051][GroupV2UpdateSelfProfileKeyJob][2] Running job. (Time Since Submission: 699618 ms, Lifespan: 86400000 ms, Run Attempt: 1/Unlimited, Queue: GroupV2UpdateSelfProfileKeyJob)
[7.14.2] [80 ] 2024-08-25 11:08:49.266 EDT I GroupV2UpdateSelfProfil: Ensuring profile key up to date on group GV2::***be9
[7.14.2] [79 ] 2024-08-25 11:08:49.273 EDT I JobRunner: [JOB::1fbe7d7d-06e1-4b48-b545-e00f7eb90e0b][RequestGroupV2InfoWorkerJob][1] Running job. (Time Since Submission: 485423 ms, Lifespan: 86400000 ms, Run Attempt: 1/Unlimited, Queue: __PUSH_PROCESS_JOB__RecipientId::316)
[7.14.2] [79 ] 2024-08-25 11:08:49.274 EDT I RequestGroupV2InfoWorke: Updating group to latest revision
[7.14.2] [70 ] 2024-08-25 11:08:49.333 EDT D NetworkConnectionListen: ConnectivityManager.NetworkCallback onBlockedStatusChanged()
[7.14.2] [68 ] 2024-08-25 11:08:49.334 EDT D IncomingMessageObserver: [Needs Connection] Network: true, Foreground: false, Time Since Last Interaction: 1 ms (within limit), FCM: true, Stay open requests: [], Registered: true, Proxy: false, Force websocket: false
[7.14.2] [68 ] 2024-08-25 11:08:49.334 EDT I IncomingMessageObserver: Making websocket connection....
[7.14.2] [68 ] 2024-08-25 11:08:49.335 EDT D IncomingMessageObserver: WebSocket State: DISCONNECTED
[7.14.2] [68 ] 2024-08-25 11:08:49.335 EDT I OkHttpWebSocketConnection: [normal:109550475] connect()
[7.14.2] [68 ] 2024-08-25 11:08:49.432 EDT I OkHttpWebSocketConnection: [unidentified:204928163] connect()
[7.14.2] [65 ] 2024-08-25 11:08:49.444 EDT D IncomingMessageObserver: WebSocket State: CONNECTING
[7.14.2] [68 ] 2024-08-25 11:08:49.518 EDT D IncomingMessageObserver: [Needs Connection] Network: true, Foreground: false, Time Since Last Interaction: 321 ms (within limit), FCM: true, Stay open requests: [], Registered: true, Proxy: false, Force websocket: false
[7.14.2] [68 ] 2024-08-25 11:08:49.518 EDT D IncomingMessageObserver: Reading message...
[7.14.2] [81 ] 2024-08-25 11:08:49.593 EDT E libsignal: Unexpected checked exception class org.signal.libsignal.protocol.InvalidKeyException
org.signal.libsignal.protocol.InvalidKeyException: bad KEM key type <0x05>
at org.signal.libsignal.internal.Native.KyberPreKeyRecord_GetKeyPair(Native Method)
at org.signal.libsignal.protocol.state.KyberPreKeyRecord.lambda$getKeyPair$3(KyberPreKeyRecord.java:53)
at org.signal.libsignal.protocol.state.KyberPreKeyRecord.$r8$lambda$zilH1BOxGnLVbEOx41IkVvkRw7E(KyberPreKeyRecord.java:0)
at org.signal.libsignal.protocol.state.KyberPreKeyRecord$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
at org.signal.libsignal.internal.FilterExceptions.filterExceptions(FilterExceptions.java:110)
at org.signal.libsignal.protocol.state.KyberPreKeyRecord.getKeyPair(KyberPreKeyRecord.java:53)
at org.thoughtcrime.securesms.jobs.PreKeysSyncJob.checkPreKeyConsistency(PreKeysSyncJob.kt:267)
at org.thoughtcrime.securesms.jobs.PreKeysSyncJob.onRun(PreKeysSyncJob.kt:131)
at org.thoughtcrime.securesms.jobs.BaseJob.run(BaseJob.java:31)
at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:88)
at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:51)

[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException:
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: java.lang.AssertionError: org.signal.libsignal.protocol.InvalidKeyException: bad KEM key type <0x05>
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.signal.libsignal.internal.FilterExceptions.reportUnexpectedException(FilterExceptions.java:70)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.signal.libsignal.internal.FilterExceptions.filterExceptions(FilterExceptions.java:114)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.signal.libsignal.protocol.state.KyberPreKeyRecord.getKeyPair(KyberPreKeyRecord.java:53)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.thoughtcrime.securesms.jobs.PreKeysSyncJob.checkPreKeyConsistency(PreKeysSyncJob.kt:267)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.thoughtcrime.securesms.jobs.PreKeysSyncJob.onRun(PreKeysSyncJob.kt:131)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.thoughtcrime.securesms.jobs.BaseJob.run(BaseJob.java:31)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:88)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.thoughtcrime.securesms.jobmanager.JobRunner.run(JobRunner.java:51)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: Caused by: org.signal.libsignal.protocol.InvalidKeyException: bad KEM key type <0x05>
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.signal.libsignal.internal.Native.KyberPreKeyRecord_GetKeyPair(Native Method)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.signal.libsignal.protocol.state.KyberPreKeyRecord.lambda$getKeyPair$3(KyberPreKeyRecord.java:53)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.signal.libsignal.protocol.state.KyberPreKeyRecord.$r8$lambda$zilH1BOxGnLVbEOx41IkVvkRw7E(KyberPreKeyRecord.java:0)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.signal.libsignal.protocol.state.KyberPreKeyRecord$$ExternalSyntheticLambda0.run(R8$$SyntheticClass:0)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: at org.signal.libsignal.internal.FilterExceptions.filterExceptions(FilterExceptions.java:110)
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException: ... 6 more
[7.14.2] [81 ] 2024-08-25 11:08:49.595 EDT E SignalUncaughtException:
[7.14.2] [79 ] 2024-08-25 11:08:49.612 EDT I GroupsV2StateProcessor: [GV2::e9] Paging from server targetRevision: latest
[7.14.2] [79 ] 2024-08-25 11:08:49.615 EDT I GroupsV2AuthorizationSi: Loaded 8 credentials from local storage
[7.14.2] [79 ] 2024-08-25 11:08:49.616 EDT I GroupsV2AuthorizationSi: Loaded 8 credentials from local storage
[7.14.2] [main ] 2024-08-25 11:09:02.618 EDT I libsignal: rust/bridge/jni/src/logging.rs:160: Initializing libsignal version:0.52.5
[7.14.2] [main ] 2024-08-25 11:09:02.618 EDT I ApplicationContext: onCreate()
[7.14.2] [main ] 2024-08-25 11:09:02.619 EDT I ApplicationContext: Installed AesGcmProvider: 1
[7.14.2] [main ] 2024-08-25 11:09:02.623 EDT I ApplicationContext: Installed Conscrypt provider: 2
[7.14.2] [main ] 2024-08-25 11:09:02.626 EDT I KeyValueDatabase: onOpen()
[7.14.2] [main ] 2024-08-25 11:09:02.632 EDT D ApplicationMigrations: Not an update. Skipping.
[7.14.2] [67 ] 2024-08-25 11:09:02.632 EDT D JobManager: Starting initialization: Thread[signal-JobManager,5,main]
[7.14.2] [main ] 2024-08-25 11:09:02.633 EDT I IncomingMessageObserver: Initializing! (25640340)
[7.14.2] [68 ] 2024-08-25 11:09:02.633 EDT I IncomingMessageObserver: Waiting for websocket state change....
[7.14.2] [main ] 2024-08-25 11:09:02.634 EDT W RemoteConfig: Tried to read android.internalUser before initialization. Initializing now.
[7.14.2] [main ] 2024-08-25 11:09:02.634 EDT I RemoteConfig: init() {android.animatedStickerMinMemory=193, android.animatedStickerMinTotalMemory=3072, android.attachments.maxCount=32, android.automaticSessionReset.2=true, android.calling.ad.hoc.3=false, android.calling.fieldTrial.anyAddressPortsKillSwitch=true, android.calling.hardwareAecBlockList=Redmi Note 5,FP2,M1901F7,ASUS_I006D,motorola one power,FP3,FP4,S22 FLIP,Mi Note 10,SM-S215DL, android.calling.softwareAecBlockList=false, android.calling.telecomAllowList=false, android.calling.telecomModelBlockList=SM-G930F,SM-G950F,SM-N950,SM-J737V,SC-02,SM-A105*,SM-A530*, android.calling.useActiveCallManager.6=false, android.calling.useHardwareAecIfOlderThanApi29=false, android.cameraXMixedModelBlockList=Pixel 3,Pixel 4,Pixel 4 XL,SM-G930T,SM-G930V,YAL-L21,YAL-AL00,YAL-TL00,VOG-L29,VOG-L09,VOG-AL00,VOG-TL00,VOG-L04,VOG-AL10,HW-02L,EVR-L29,EVR-AL00,EVR-TL00,CPH2583,CPH2573,CPH2581,SM-A336E,MAR-LX1A,FP4, android.cameraXModelBlockList=ALE-L21,GT-N7100,GT-N8000,COL-L29,C66,C66_EEA,

@fluxien
Copy link

fluxien commented Aug 26, 2024

I am experiencing the same error message "bad KEM type" after transferring my Signal data to another phone. Version is 7.14.2. App worked nicely for some seconds to a minute, and after that it crashes everytime I open the app after only a few seconds. App works fine in Flight mode, but crashes immediately when flight mode is deactivated. Please help with a temporary workaround if possible. Let me know if I should supply logs or more information.

@kaswarh
Copy link

kaswarh commented Aug 27, 2024

I confirm! The problem started after transferring data to another phone. Developers: you can reproduce the error like this: transfer data from Android 12 to Android 14 and try working on Android 14.

@huowen2020
Copy link

I didn't transfer any data when the problem happened. It worked for about 2 days after the new installation, then suddenly began to crash when opening it. The signal app is installed in my tablet without a sim card if that makes a difference.

@nemobis
Copy link

nemobis commented Aug 28, 2024

There are some more logs about this issue from me, @zander13auto, @birbritto, @D0MF starting at #13599 (comment) ; this appears to be different from the database-related issues for which some changes were made in recent days, #13655 (comment) .

@nicholas-signal
Copy link
Contributor

Signal v7.15.4 is now available on Google Play as well as our website. Please let us know if the crash is resolved.

@fluxien
Copy link

fluxien commented Aug 30, 2024

The new update resolved my issue, and the app is now working. Thank you very much for a quick fix and the update here, good job!

@huowen2020
Copy link

v7.15.4 is working for me so far. thank you.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

6 participants