open-keychain/open-keychain

Crash with "Rank 0 user packet must be a user id!"

Open

#1,853 opened on May 6, 2016

View on GitHub
 (3 comments) (0 reactions) (0 assignees)Java (403 forks)batch import
bughelp wanted

Repository metrics

Stars
 (1,376 stars)
PR merge metrics
 (No merged PRs in 30d)

Description

Hi,

I am stuck with a 'broken' Open-Keychain update on my phone. When opening the application it will try to reimport the keys and crashes at around 65%. I have several secret keys and >300 public keys.

Stacktrace from logcat:

E/AndroidRuntime(20571): FATAL EXCEPTION: Thread-48963
E/AndroidRuntime(20571): Process: org.sufficientlysecure.keychain, PID: 20571
E/AndroidRuntime(20571): java.lang.AssertionError: Rank 0 user packet must be a user id!
E/AndroidRuntime(20571):        at org.sufficientlysecure.keychain.provider.KeychainProvider.insert(KeychainProvider.java:810)
E/AndroidRuntime(20571):        at android.content.ContentProviderOperation.apply(ContentProviderOperation.java:214)
E/AndroidRuntime(20571):        at android.content.ContentProvider.applyBatch(ContentProvider.java:1617)
E/AndroidRuntime(20571):        at android.content.ContentProvider$Transport.applyBatch(ContentProvider.java:260)
E/AndroidRuntime(20571):        at android.content.ContentProviderClient.applyBatch(ContentProviderClient.java:377)
E/AndroidRuntime(20571):        at android.content.ContentResolver.applyBatch(ContentResolver.java:1233)
E/AndroidRuntime(20571):        at org.sufficientlysecure.keychain.provider.ProviderHelper.saveCanonicalizedPublicKeyRing(ProviderHelper.java:730)
E/AndroidRuntime(20571):        at org.sufficientlysecure.keychain.provider.ProviderHelper.savePublicKeyRing(ProviderHelper.java:978)
E/AndroidRuntime(20571):        at org.sufficientlysecure.keychain.operations.ImportOperation.serialKeyRingImport(ImportOperation.java:321)
E/AndroidRuntime(20571):        at org.sufficientlysecure.keychain.operations.ImportOperation.serialKeyRingImport(ImportOperation.java:101)
E/AndroidRuntime(20571):        at org.sufficientlysecure.keychain.provider.ProviderHelper.consolidateDatabaseStep2(ProviderHelper.java:1357)
E/AndroidRuntime(20571):        at org.sufficientlysecure.keychain.provider.ProviderHelper.consolidateDatabaseStep2(ProviderHelper.java:1259)
E/AndroidRuntime(20571):        at org.sufficientlysecure.keychain.operations.ConsolidateOperation.execute(ConsolidateOperation.java:43)
E/AndroidRuntime(20571):        at org.sufficientlysecure.keychain.operations.ConsolidateOperation.execute(ConsolidateOperation.java:31)
E/AndroidRuntime(20571):        at org.sufficientlysecure.keychain.service.KeychainService$1.run(KeychainService.java:146)
E/AndroidRuntime(20571):        at java.lang.Thread.run(Thread.java:841)

Unfortunately I couldn't find out yet which key is affected.

Maybe related to #1660? There are a couple of revoked keys (pub and sec) in my keyrings.

Contributor guide