question

mauriciovs avatar image
mauriciovs asked

App crash on launch only on App Store version

Hi, I have an interesting issue with an app in the app store: the last version that was approved crashes on some devices upon launch. However, the apk that was submitted for review does not exhibit this problem when installed directly on the same device, only when I download the app from the app store do I see this crash. These are the logs from the crash: F/libc ( 5440): Fatal signal 11 (SIGSEGV) at 0xcada8c1e (code=1) I/DEBUG (30377): *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** I/DEBUG (30377): Build fingerprint: 'Android/tate/tate:4.0.3/IML74K/7.4.9_user_4952320:user/release-keys' I/DEBUG (30377): pid: 5440, tid: 5440 >>> com.codified.hipyard <<< I/DEBUG (30377): signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr cada8c1e I/DEBUG (30377): r0 0a786564 r1 00000000 r2 5b908030 r3 00000001 I/DEBUG (30377): r4 5b908028 r5 5b908028 r6 01d2a378 r7 4166eaa0 I/DEBUG (30377): r8 4095df90 r9 00000000 10 00000000 fp 01ba99e8 I/DEBUG (30377): ip 5b908028 sp bee5a760 lr 6f4a0bf6 pc 409240b2 cpsr 80000030 I/DEBUG (30377): d0 0000000000000002 d1 40bddcc040b1a5f0 I/DEBUG (30377): d2 7365522f736572c3 d3 5424736563727540 I/DEBUG (30377): d4 56e3327856e33240 d5 570f06c856e332b0 I/DEBUG (30377): d6 570f0738570f0700 d7 570f07a8570f0770 I/DEBUG (30377): d8 0000000000000000 d9 0000000000000000 I/DEBUG (30377): d10 0000000000000000 d11 0000000000000000 I/DEBUG (30377): d12 0000000000000000 d13 0000000000000000 I/DEBUG (30377): d14 0000000000000000 d15 0000000000000000 I/DEBUG (30377): d16 000000004166eaa0 d17 4010000000000000 I/DEBUG (30377): d18 e6888788e6888788 d19 7e654c007e654c00 I/DEBUG (30377): d20 7e654c007e654c00 d21 bebbbc6c1a570a20 I/DEBUG (30377): d22 3ff0000000000000 d23 3fede16b9c24a98f I/DEBUG (30377): d24 0000000000000000 d25 0000000000000000 I/DEBUG (30377): d26 ffffffffffffffff d27 ffffffffffffffff I/DEBUG (30377): d28 7e654c007e654c00 d29 ffffffffffffffff I/DEBUG (30377): d30 00680023003b0088 d31 00680023003b0088 I/DEBUG (30377): scr 60000012 I/DEBUG (30377): I/DEBUG (30377): #00 pc 000790b2 /system/lib/ libdvm.so I/DEBUG (30377): #01 pc 00079212 /system/lib/ libdvm.so (_Z26dvmGetParameterAnnotationsPK6Method) I/DEBUG (30377): #02 pc 00073c16 /system/lib/ libdvm.so I/DEBUG (30377): #03 pc 00030acc /system/lib/ libdvm.so I/DEBUG (30377): #04 pc 00034330 /system/lib/ libdvm.so (_Z12dvmInterpretP6ThreadPK6MethodP6JValue) I/DEBUG (30377): #05 pc 0006c736 /system/lib/ libdvm.so (_Z15dvmInvokeMethodP6ObjectPK6MethodP11ArrayObjectS5_P11ClassObjectb) I/DEBUG (30377): #06 pc 00073d06 /system/lib/ libdvm.so I/DEBUG (30377): #07 pc 00030acc /system/lib/ libdvm.so I/DEBUG (30377): #08 pc 00034330 /system/lib/ libdvm.so (_Z12dvmInterpretP6ThreadPK6MethodP6JValue) I/DEBUG (30377): #09 pc 0006ca06 /system/lib/ libdvm.so (_Z14dvmCallMethodVP6ThreadPK6MethodP6ObjectbP6JValueSt9__va_list) I/DEBUG (30377): #10 pc 00054f76 /system/lib/ libdvm.so I/DEBUG (30377): #11 pc 00046822 /system/lib/ libandroid_runtime.so I/DEBUG (30377): #12 pc 0004738a /system/lib/ libandroid_runtime.so (_ZN7android14AndroidRuntime5startEPKcS2_) I/DEBUG (30377): #13 pc 00008f0a /system/bin/app_process I/DEBUG (30377): #14 pc 0001661c /system/lib/ libc.so (__libc_init) I/DEBUG (30377): I/DEBUG (30377): code around pc: I/DEBUG (30377): 40924090 0150f8d3 2d076ac5 f7fdd001 2300fc97 ..P..j.-.......# I/DEBUG (30377): 409240a0 46256820 46194622 f852e00a f8d6ef04 h%F"F.F..R..... I/DEBUG (30377): 409240b0 f81cc02c f1bee00e bf080f01 33013101 ,............1.3 I/DEBUG (30377): 409240c0 dbf24283 f858481e f8d22000 22000120 .B...HX.. .. .." I/DEBUG (30377): 409240d0 fb62f7fb 28004680 f04fd02c f1000a00 ..b..F.(,.O..... I/DEBUG (30377): I/DEBUG (30377): code around lr: I/DEBUG (30377): 6f4a0bd4 ffffffff ffffffff ffffffff ffffffff ................ I/DEBUG (30377): 6f4a0be4 ffffffff ffffffff ffffffff ffffffff ................ I/DEBUG (30377): 6f4a0bf4 ffffffff ffffffff ffffffff ffffffff ................ I/DEBUG (30377): 6f4a0c04 ffffffff ffffffff ffffffff ffffffff ................ I/DEBUG (30377): 6f4a0c14 ffffffff ffffffff ffffffff ffffffff ................ I/DEBUG (30377): I/DEBUG (30377): memory map around addr cada8c1e: I/DEBUG (30377): bee3a000-bee5b000 [stack] I/DEBUG (30377): (no map for address) I/DEBUG (30377): ffff0000-ffff1000 [vectors] I/DEBUG (30377): I/DEBUG (30377): stack: I/DEBUG (30377): bee5a720 40962c68 /system/lib/ libdvm.so I/DEBUG (30377): bee5a724 0000001c I/DEBUG (30377): bee5a728 fffffe4c I/DEBUG (30377): bee5a72c 408dec04 /system/lib/ libdvm.so I/DEBUG (30377): bee5a730 00000001 I/DEBUG (30377): bee5a734 00000723 I/DEBUG (30377): bee5a738 01d2a378 [heap] I/DEBUG (30377): bee5a73c 4095df90 /system/lib/ libdvm.so I/DEBUG (30377): bee5a740 40b1dd28 /dev/ashmem/dalvik-heap (deleted) I/DEBUG (30377): bee5a744 00000003 I/DEBUG (30377): bee5a748 00000003 I/DEBUG (30377): bee5a74c 0000001c I/DEBUG (30377): bee5a750 4095df90 /system/lib/ libdvm.so I/DEBUG (30377): bee5a754 4091f5d5 /system/lib/ libdvm.so I/DEBUG (30377): bee5a758 df0027ad I/DEBUG (30377): bee5a75c 00000000 I/DEBUG (30377): #00 bee5a760 01ba7900 [heap] I/DEBUG (30377): bee5a764 f3f2a888 I/DEBUG (30377): bee5a768 01d2a378 [heap] I/DEBUG (30377): bee5a76c 0000052c I/DEBUG (30377): bee5a770 56e3dd60 /dev/ashmem/dalvik-LinearAlloc (deleted) I/DEBUG (30377): bee5a774 41727468 /dev/ashmem/dalvik-heap (deleted) I/DEBUG (30377): bee5a778 5b908028 /data/dalvik-cache/data@app@com.codified.hipyard-1.apk@classes.dex I/DEBUG (30377): bee5a77c 4166eaa0 /dev/ashmem/dalvik-heap (deleted) I/DEBUG (30377): bee5a780 00000003 I/DEBUG (30377): bee5a784 01d2a378 [heap] I/DEBUG (30377): bee5a788 00000000 I/DEBUG (30377): bee5a78c 00000000 I/DEBUG (30377): bee5a790 01ba99e8 [heap] I/DEBUG (30377): bee5a794 40924217 /system/lib/ libdvm.so I/DEBUG (30377): #01 bee5a798 41727478 /dev/ashmem/dalvik-heap (deleted) I/DEBUG (30377): bee5a79c 5bc06b90 /data/dalvik-cache/data@app@com.codified.hipyard-1.apk@classes.dex I/DEBUG (30377): bee5a7a0 56e3dd60 /dev/ashmem/dalvik-LinearAlloc (deleted) I/DEBUG (30377): bee5a7a4 576deb9c /system/framework/core.odex I/DEBUG (30377): bee5a7a8 01ba99f8 [heap] I/DEBUG (30377): bee5a7ac 01ba99e8 [heap] I/DEBUG (30377): bee5a7b0 40b1e2e0 /dev/ashmem/dalvik-heap (deleted) I/DEBUG (30377): bee5a7b4 408c9e00 /system/lib/ libdvm.so I/DEBUG (30377): bee5a7b8 00000006 I/DEBUG (30377): bee5a7bc 56db08ec I/DEBUG (30377): bee5a7c0 bee5a8a8 [stack] I/DEBUG (30377): bee5a7c4 4091ec1b /system/lib/ libdvm.so W/dalvikvm( 5440): threadid=2: spin on suspend #1 threadid=1 (pcf=0) V/Sensors ( 204): accel data: -0.119751 0.064666 9.754914 W/dalvikvm( 5440): threadid=2: spin on suspend #2 threadid=1 (pcf=0) I/dalvikvm( 5440): "GC" daemon prio=5 tid=2 RUNNABLE I/dalvikvm( 5440): | group="system" sCount=0 dsCount=0 obj=0x415f35e8 self=0x1d784f8 I/dalvikvm( 5440): | sysTid=5444 nice=0 sched=0/0 cgrp=default handle=31046632 I/dalvikvm( 5440): | schedstat=( 0 0 0 ) utm=17 stm=1 core=1 I/dalvikvm( 5440): at dalvik.system.NativeStart.run(Native Method) I/dalvikvm( 5440): I/dalvikvm( 5440): "main" prio=5 tid=1 RUNNABLE I/dalvikvm( 5440): | group="main" sCount=1 dsCount=0 obj=0x40b29460 self=0x1ba99e8 I/dalvikvm( 5440): | sysTid=5440 nice=0 sched=0/0 cgrp=default handle=1075065992 I/dalvikvm( 5440): | schedstat=( 0 0 0 ) utm=38 stm=3 core=0 I/dalvikvm( 5440): at java.lang.reflect.Method.getParameterAnnotations(Native Method) I/dalvikvm( 5440): at java.lang.reflect.Method.getParameterAnnotations(Method.java:311) I/dalvikvm( 5440): at roboguice.event.ObservesTypeListener.findContextObserver(ObservesTypeListener.java:45) I/dalvikvm( 5440): at roboguice.event.ObservesTypeListener.hear(ObservesTypeListener.java:34) I/dalvikvm( 5440): at com.google.inject.MembersInjectorStore.createWithListeners(MembersInjectorStore.java:90) I/dalvikvm( 5440): at com.google.inject.MembersInjectorStore.access$000(MembersInjectorStore.java:35) I/dalvikvm( 5440): at com.google.inject.MembersInjectorStore$1.create(MembersInjectorStore.java:43) I/dalvikvm( 5440): at com.google.inject.MembersInjectorStore$1.create(MembersInjectorStore.java:40) I/dalvikvm( 5440): at com.google.inject.internal.FailableCache$1.apply(FailableCache.java:35) I/dalvikvm( 5440): at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:549) I/dalvikvm( 5440): at com.google.inject.internal.MapMaker$StrategyImpl.compute(MapMaker.java:419) I/dalvikvm( 5440): at com.google.inject.internal.CustomConcurrentHashMap$ComputingImpl.get(CustomConcurrentHashMap.java:2041) I/dalvikvm( 5440): at com.google.inject.internal.FailableCache.get(FailableCache.java:46) I/dalvikvm( 5440): at com.google.inject.MembersInjectorStore.get(MembersInjectorStore.java:66) I/dalvikvm( 5440): at com.google.inject.InjectorImpl.getMembersInjector(InjectorImpl.java:732) I/dalvikvm( 5440): at com.google.inject.InjectorImpl.getMembersInjector(InjectorImpl.java:739) I/dalvikvm( 5440): at com.google.inject.InjectorImpl.injectMembers(InjectorImpl.java:725) I/dalvikvm( 5440): at roboguice.inject.ContextScopedRoboInjector.injectMembersWithoutViews(ContextScopedRoboInjector.java:243) I/dalvikvm( 5440): at com.mirego.coffeeshop.barista.activity.RoboDelayedActivity.onCreate(RoboDelayedActivity.java:75) I/dalvikvm( 5440): at com.codified.hipyard.authentication.AuthenticationActivity.onCreateAuthenticationActivity(AuthenticationActivity.java:155) I/dalvikvm( 5440): at com.codified.hipyard.authentication.AuthenticationActivity.onCreate(AuthenticationActivity.java:-1) I/dalvikvm( 5440): at android.app.Activity.performCreate(Activity.java:4635) I/dalvikvm( 5440): at android.app.Instrumentation.callActivityOnCreate(Instrumentation.java:1049) I/dalvikvm( 5440): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1999) I/dalvikvm( 5440): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2060) I/dalvikvm( 5440): at android.app.ActivityThread.access$600(ActivityThread.java:127) I/dalvikvm( 5440): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1181) I/dalvikvm( 5440): at android.os.Handler.dispatchMessage(Handler.java:99) I/dalvikvm( 5440): at android.os.Looper.loop(Looper.java:137) I/dalvikvm( 5440): at android.app.ActivityThread.main(ActivityThread.java:4558) I/dalvikvm( 5440): at java.lang.reflect.Method.invokeNative(Native Method) I/dalvikvm( 5440): at java.lang.reflect.Method.invoke(Method.java:511) I/dalvikvm( 5440): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:784) I/dalvikvm( 5440): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:551) I/dalvikvm( 5440): at dalvik.system.NativeStart.main(Native Method) I/dalvikvm( 5440): I/BootReceiverService( 204): Copying /data/tombstones/tombstone_04 to DropBox (SYSTEM_TOMBSTONE) I/ActivityManager( 204): Process com.codified.hipyard (pid 5440) has died. W/ActivityManager( 204): Force removing ActivityRecord{41628388 com.codified.hipyard/.authentication.AuthenticationActivity}: app died, no saved state D/Zygote ( 108): Process 5440 terminated by signal (11) Is there some sort of modification that is done to the APKs after they've been submitted prior to publishing on the app store?
fire tablet
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
We do not see any app is associated with the developer account that you have posted from. So I am unable to track the app that is causing this strange issue. Please send your app name via ContactUs so that we can investigate the issue further. If you do not have any problem to share your app name publicly in this forum, that would also help us to find our app and investigate the issue. Thanks.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Carl Mercier avatar image
Carl Mercier answered
I've tried the contact us form, but I've had no reply. Our app name is VarageSale (com.codified.hipyard). Thanks for your support.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

mauriciovs avatar image
mauriciovs answered
I've tried the contact us form, but I've had no reply. Our app name is VarageSale (com.codified.hipyard). Thanks for your support.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Thanks. I am looking at the issue. I will get back to you shortly.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
We see that the issue is not observed in your recent submission. Glad you were able to fix the issue. Thanks for your patience.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

mauriciovs avatar image
mauriciovs answered
Hi, that's because we "rolled back" to an earlier version of the app so we could get something back on the appstore again without that crash. The latest version would still have this issue. How can we submit new builds without having them be automatically published so we can test the APK you produce after whatever processing is done to our original APK? This way we'd be able to test and ensure that builds aren't broken and released. Additionally, would there be a way to reproduce the processing you do on the APK so I can test it on my builds and try to find the issue?
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

iainconnor avatar image
iainconnor answered
Believe our application is getting the exact same crash symptoms -- https://forums.developer.amazon.com/forums/thread.jspa?threadID=3903&tstart=0 -- out of curiosity, is the update to your app (the version that had the crashes) using any of these libraries; compile 'com.crashlytics.android:crashlytics:1.+' compile 'uk.co.chrisjenx:calligraphy:1.1.0' compile 'com.github.frankiesardo:icepick:2.3' compile 'com.squareup:otto:1.3.4' compile 'com.squareup.retrofit:retrofit:1.6.1' compile 'com.squareup.okhttp:okhttp:2.0.0' The crash seems to be something to do with annotation processing (based on _Z26dvmGetParameterAnnotationsPK6Method), and these are the libraries we're using that do some heavy lifting with annotations.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

mauriciovs avatar image
mauriciovs answered
From the list you mentioned we use Crashlytics. But we also use RoboGuice which also uses a lot of annotation and reflection. I believe this is where our problems are stemming from, but the interesting part is that we've been using those libraries for a long time and this issue only came about in our latest release. We haven't found a resolution yet. We are still investigating and I'll update here if we find anything.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

iainconnor avatar image
iainconnor answered
Will do the same. We broke down and ordered a second tablet (one of the older models that seems to suffer from this crash), so we should hopefully be able to do more in house debugging. Would sure be nice if Amazon provided emulator images for their devices again HINT HINT!
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Sujoy@Amazon avatar image
Sujoy@Amazon answered
Hi Mauriciovs, We are able to reproduce the issue in 2nd generation Kindle fire devices in the build that you have submitted earlier. We are looking at the issue and will get back once we find any resolution. Thanks.
10 |5000

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.