Native crash in Android SDK getRotation

805
1
10-09-2020 04:04 PM
NathanMellor
Occasional Contributor

Why is the SDK calling a pure virtual function?

*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'motorola/griffin/griffin:7.0/MPL24.246-20/21:user/release-keys'
Revision: 'p3b0'
ABI: 'arm64'
pid: 11102, tid: 11102, name: trynavigator.xe  >>> com.crittermap.backcountrynavigator.xe <<<
signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
Abort message: 'Pure virtual function called!'
    x0   0000000000000000  x1   0000000000002b5e  x2   0000000000000006  x3   0000000000000008
    x4   ffffffffffffffff  x5   8080800000000000  x6   0000000000808080  x7   fefeff2063646b6b
    x8   0000000000000083  x9   ffffffffffffffdf  x10  0000000000000000  x11  0000000000000001
    x12  ffffffffffffffff  x13  0000000000000000  x14  0000000000000000  x15  00393a1930759689
    x16  000000746a02eee0  x17  0000007469fd88f0  x18  00000000ffffffff  x19  000000746cfb5b40
    x20  0000000000000006  x21  000000746cfb5a98  x22  000000000000000b  x23  0000007fc585e160
    x24  0000007fc585e040  x25  0000007fc585e080  x26  0000007469096a98  x27  85cf50b08710ea61
    x28  0000000000000001  x29  0000007fc585df50  x30  0000007469fd5d98
    sp   0000007fc585df30  pc   0000007469fd88f8  pstate 0000000060000000
backtrace:
    #00 pc 000000000006b8f8  /system/lib64/libc.so (tgkill+8)
    #01 pc 0000000000068d94  /system/lib64/libc.so (pthread_kill+64)
    #02 pc 0000000000024090  /system/lib64/libc.so (raise+24)
    #03 pc 000000000001cb14  /system/lib64/libc.so (abort+52)
    #04 pc 00000000000a01bc  /data/app/com.crittermap.backcountrynavigator.xe-1/lib/arm64/libc++_shared.so
    #05 pc 00000000000b5968  /data/app/com.crittermap.backcountrynavigator.xe-1/lib/arm64/libc++_shared.so (__cxa_pure_virtual+16)
    #06 pc 0000000002092000  /data/app/com.crittermap.backcountrynavigator.xe-1/lib/arm64/libruntimecore.so (offset 0x1d50000)
    #07 pc 0000000001f19cf0  /data/app/com.crittermap.backcountrynavigator.xe-1/lib/arm64/libruntimecore.so (offset 0x1d50000) (RT_MapView_getRotation+20)
    #08 pc 00000000001f782c  /data/app/com.crittermap.backcountrynavigator.xe-1/lib/arm64/libruntimecore_java.so (offset 0x1b0000) (Java_com_esri_arcgisruntime_internal_jni_CoreMapView_nativeGetRotation+28)
    #09 pc 0000000000e75f34  /data/app/com.crittermap.backcountrynavigator.xe-1/oat/arm64/base.odex (offset 0xe2b000)

I have not been able to reproduce this.

But Google Playstore's automated test catches ones of these EVERY time.

Tags (2)
0 Kudos
1 Reply
MarkBaird
Esri Regular Contributor

This isn't something we've seen before and we've not had crash reports like this in any of the apps we deploy to the app store.

There is however no escaping the error you are seeing in the log.  Some more information would be helpful to track this down.  Do you have any information of what the tests are doing at the time of the crash?

Also some clues about your code would help.  It's pretty obviously happening when you are calling a MapView.getRotation, but can you tell me a little more about the context you are calling this in?

Also can you confirm what version of the API you are using?

0 Kudos