Skip to content
This repository has been archived by the owner on Aug 8, 2023. It is now read-only.

[android] Mapbox Android Demo app native crash on a Pixel XL Android P (Beta) #12278

Closed
Guardiola31337 opened this issue Jul 2, 2018 · 7 comments
Labels
Android Mapbox Maps SDK for Android Core The cross-platform C++ core, aka mbgl crash

Comments

@Guardiola31337
Copy link
Contributor

After updating to the latest version of Mapbox Android Demo app (via regular Play Store update) run into the following native 馃挜

07-01 13:11:49.410 6551-6611/? W/pboxandroiddem: Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->setAlpnProtocols([B)V (light greylist, reflection)
07-01 13:11:49.419 6551-6551/? W/pboxandroiddem: Accessing hidden field Landroid/view/ScaleGestureDetector;->mMinSpan:I (light greylist, reflection)
07-01 13:11:49.420 6551-6551/? W/pboxandroiddem: Accessing hidden field Landroid/view/ScaleGestureDetector;->mSpanSlop:I (light greylist, reflection)
07-01 13:11:49.450 666-666/? D/QCOM聽PowerHAL: LAUNCH HINT: OFF
07-01 13:11:49.497 6551-6611/? W/pboxandroiddem: Accessing hidden method Lcom/android/org/conscrypt/OpenSSLSocketImpl;->getAlpnSelectedProtocol()[B (light greylist, reflection)
07-01 13:11:49.697 900-964/? I/ActivityManager: Displayed com.mapbox.mapboxandroiddemo/.examples.basics.SimpleMapViewActivity: +526ms
07-01 13:11:50.202 6551-6616/? I/mbgl: {DefaultFileSour}[Database]: statement aborts at 59: [DELETE FROM tiles WHERE id IN (   SELECT id FROM tiles   LEFT JOIN region_tiles   ON tile_id = tiles.id   WHERE tile_id IS NULL   AND accessed <= ?1 ) ] disk I/O error (<unknown>)
07-01 13:11:50.283 6551-6616/? E/libc++abi: terminating with uncaught exception of type mapbox::sqlite::Exception: disk I/O error
07-01 13:11:50.287 6551-6616/? A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 6616 (DefaultFileSour), pid 6551 (pboxandroiddemo)
07-01 13:11:50.368 6642-6642/? I/crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
07-01 13:11:50.369 739-739/? I//system/bin/tombstoned: received crash request for pid 6616
07-01 13:11:50.372 6642-6642/? I/crash_dump64: performing dump of process 6551 (target tid = 6616)
07-01 13:11:50.391 6642-6642/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    Build fingerprint: 'google/marlin/marlin:9/PPP3.180510.008/4811556:user/release-keys'
07-01 13:11:50.392 6642-6642/? A/DEBUG: Revision: '0'
    ABI: 'arm64'
    pid: 6551, tid: 6616, name: DefaultFileSour  >>> com.mapbox.mapboxandroiddemo <<<
    signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
    Abort message: 'terminating with uncaught exception of type mapbox::sqlite::Exception: disk I/O error'
        x0  0000000000000000  x1  00000000000019d8  x2  0000000000000006  x3  0000000000000008
        x4  fefeff716e717164  x5  fefeff716e717164  x6  fefeff716e717164  x7  7f7f7f7f7f7f7f7f
        x8  0000000000000083  x9  f6b4dd33de8e006a  x10 fffffff87ffffbdf  x11 fffffffc7ffffbdf
        x12 0000000000000005  x13 00000070288317aa  x14 0000000000000000  x15 0000006f8b6f3f58
        x16 000000702886f2c8  x17 00000070287ad0b8  x18 0000000000000000  x19 0000000000001997
        x20 00000000000019d8  x21 0000000000000083  x22 00000000ffffff80  x23 00000000ffffffc8
        x24 0000006f8b6f4890  x25 0000006f8b6f4760  x26 0000006f8b6f47a0  x27 000000000000001d
        x28 0000006f8b6f5588  x29 0000006f8b6f46d0
        sp  0000006f8b6f4690  lr  00000070287a1c7c  pc  00000070287a1c9c
07-01 13:11:50.394 6642-6642/? A/DEBUG: backtrace:
        #00 pc 0000000000021c9c  /system/lib64/libc.so (abort+112)
        #01 pc 00000000004dd3a0  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #02 pc 00000000004dd4b0  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #03 pc 00000000004dac78  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #04 pc 00000000004da5ec  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #05 pc 00000000004da56c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #06 pc 0000000000114b1c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #07 pc 0000000000107030  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #08 pc 0000000000106d88  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #09 pc 0000000000106c1c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #10 pc 00000000000f4e04  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #11 pc 00000000000faeb4  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #12 pc 00000000000fc84c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #13 pc 00000000000fca2c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #14 pc 0000000000111b2c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #15 pc 0000000000390c7c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #16 pc 00000000003911d0  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #17 pc 00000000000f5f08  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #18 pc 00000000000f5df0  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #19 pc 00000000000844fc  /system/lib64/libc.so (__pthread_start(void*)+36)
        #20 pc 0000000000023574  /system/lib64/libc.so (__start_thread+68)
07-01 13:11:51.139 739-739/? E//system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_01
07-01 13:11:51.143 900-6646/? W/ActivityManager:   Force finishing activity com.mapbox.mapboxandroiddemo/.examples.basics.SimpleMapViewActivity

Platform: Android P (Beta - Android version: 9) Pixel XL
Mapbox SDK version: 6.2.1

Steps to trigger behavior

  1. Mapbox Android Demo app
  2. Try to open any example Activity
  3. 馃挜

If you want any further testing done, let me know. Happy to help!

cc @langsmith

@Guardiola31337 Guardiola31337 added Android Mapbox Maps SDK for Android crash labels Jul 2, 2018
@Guardiola31337 Guardiola31337 changed the title Mapbox Android Demo app native crash on a Pixel XL Android P (Beta) [android] Mapbox Android Demo app native crash on a Pixel XL Android P (Beta) Jul 2, 2018
@LukasPaczos
Copy link
Member

I think the key here is Abort message: 'terminating with uncaught exception of type mapbox::sqlite::Exception: disk I/O error'. Also, I wasn't able to reproduce on a Pixel 2 XL running Oreo.

@Guardiola31337 would you mind rebooting your device and trying again?

@LukasPaczos LukasPaczos added the Core The cross-platform C++ core, aka mbgl label Jul 3, 2018
@Guardiola31337
Copy link
Contributor Author

@LukasPaczos

would you mind rebooting your device and trying again?

Still the same 馃槗

07-03 12:53:46.648 917-1032/? I/ActivityManager: Displayed com.mapbox.mapboxandroiddemo/.examples.basics.SimpleMapViewActivity: +207ms
07-03 12:53:47.617 17695-17773/? I/mbgl: {DefaultFileSour}[Database]: statement aborts at 59: [DELETE FROM tiles WHERE id IN (   SELECT id FROM tiles   LEFT JOIN region_tiles   ON tile_id = tiles.id   WHERE tile_id IS NULL   AND accessed <= ?1 ) ] disk I/O error (<unknown>)
07-03 12:53:47.624 17695-17773/? E/libc++abi: terminating with uncaught exception of type mapbox::sqlite::Exception: disk I/O error
    
    --------- beginning of crash
07-03 12:53:47.624 17695-17773/? A/libc: Fatal signal 6 (SIGABRT), code -6 (SI_TKILL) in tid 17773 (DefaultFileSour), pid 17695 (pboxandroiddemo)
07-03 12:53:47.697 17792-17792/? I/crash_dump64: obtaining output fd from tombstoned, type: kDebuggerdTombstone
07-03 12:53:47.698 819-819/? I//system/bin/tombstoned: received crash request for pid 17773
07-03 12:53:47.698 17792-17792/? I/crash_dump64: performing dump of process 17695 (target tid = 17773)
07-03 12:53:47.711 17792-17792/? A/DEBUG: *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
    Build fingerprint: 'google/marlin/marlin:9/PPP4.180612.004/4838310:user/release-keys'
    Revision: '0'
    ABI: 'arm64'
    pid: 17695, tid: 17773, name: DefaultFileSour  >>> com.mapbox.mapboxandroiddemo <<<
    signal 6 (SIGABRT), code -6 (SI_TKILL), fault addr --------
    Abort message: 'terminating with uncaught exception of type mapbox::sqlite::Exception: disk I/O error'
        x0  0000000000000000  x1  000000000000456d  x2  0000000000000006  x3  0000000000000008
        x4  fefeff716e717164  x5  fefeff716e717164  x6  fefeff716e717164  x7  7f7f7f7f7f7f7f7f
        x8  0000000000000083  x9  84597c2299887e99  x10 fffffff87ffffbdf  x11 fffffffc7ffffbdf
        x12 0000000000000005  x13 0000007f27bb2a72  x14 0000000000000000  x15 0000007e88db6f58
07-03 12:53:47.712 17792-17792/? A/DEBUG:     x16 0000007f27bf02c8  x17 0000007f27b2e358  x18 0000000000000000  x19 000000000000451f
        x20 000000000000456d  x21 0000000000000083  x22 00000000ffffff80  x23 00000000ffffffc8
        x24 0000007e88db7890  x25 0000007e88db7760  x26 0000007e88db77a0  x27 000000000000001d
        x28 0000007e88db8588  x29 0000007e88db76d0
        sp  0000007e88db7690  lr  0000007f27b22c7c  pc  0000007f27b22c9c
07-03 12:53:47.716 17792-17792/? A/DEBUG: backtrace:
        #00 pc 0000000000021c9c  /system/lib64/libc.so (abort+112)
        #01 pc 00000000004dd3a0  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #02 pc 00000000004dd4b0  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #03 pc 00000000004dac78  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #04 pc 00000000004da5ec  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #05 pc 00000000004da56c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #06 pc 0000000000114b1c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #07 pc 0000000000107030  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #08 pc 0000000000106d88  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #09 pc 0000000000106c1c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #10 pc 00000000000f4e04  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #11 pc 00000000000faeb4  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
07-03 12:53:47.717 17792-17792/? A/DEBUG:     #12 pc 00000000000fc84c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #13 pc 00000000000fca2c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #14 pc 0000000000111b2c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #15 pc 0000000000390c7c  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #16 pc 00000000003911d0  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #17 pc 00000000000f5f08  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #18 pc 00000000000f5df0  /data/app/com.mapbox.mapboxandroiddemo-p3z105SLuXIrE0fv4FC8fg==/lib/arm64/libmapbox-gl.so
        #19 pc 00000000000847bc  /system/lib64/libc.so (__pthread_start(void*)+36)
        #20 pc 0000000000023574  /system/lib64/libc.so (__start_thread+68)
07-03 12:53:48.284 819-819/? E//system/bin/tombstoned: Tombstone written to: /data/tombstones/tombstone_01
07-03 12:53:48.285 917-17795/? W/ActivityManager:   Force finishing activity com.mapbox.mapboxandroiddemo/.examples.basics.SimpleMapViewActivity

@Guardiola31337
Copy link
Contributor Author

It's working after clearing the storage of the app. It seems that the database was corrupted after updating to 6.2.1. I wanted to let you know just in case there鈥檚 a hidden issue downstream that we should deal with (e.g. catch the exception). Feel free to close here if you think no follow up steps are needed.

cc @LukasPaczos @tobrun

@kkaefer
Copy link
Contributor

kkaefer commented Jul 4, 2018

Disk I/O error isn't an indication of database corruption. Instead, it means that something in the file system layer went wrong that shouldn't have. Other than not crashing, there's nothing Mapbox GL can do when the file system behaves erratic. The crash bug will be fixed by #12224. When the file system returns I/O errors, we will now pretend that the cache database is empty and not writable, effectively disabling the cache. While this isn't ideal, in absence of file I/O being possible, there isn't much else we can do.

@kkaefer kkaefer closed this as completed Jul 4, 2018
@Guardiola31337
Copy link
Contributor Author

Really great explanation 馃檱

Thanks for clarifying @kkaefer

@florianPOLARSTEPS
Copy link

florianPOLARSTEPS commented Jul 28, 2018

@kkaefer I have recently had a similar issue. ( unfortunately unable to reproduce )
#12436

In case this is a duplicate ( which i cannot verify ), then I believe the issue is a bit deeper than "something on the system level went wrong". I have seen these crashes a lot in the latest versions of mapbox (6.2.1, 6.3.0) which means it is not an isolated issue but rather something has corrupted the database during a migration or otherwise. After i delete the offline tile cache db file, everything works fine again.

@Guardiola31337
Copy link
Contributor Author

Guardiola31337 commented Aug 2, 2018

Noting here that I run into the same native crash in a different app using 6.3.0. As mentioned, clearing the storage of the app fixed it.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Android Mapbox Maps SDK for Android Core The cross-platform C++ core, aka mbgl crash
Projects
None yet
Development

No branches or pull requests

4 participants