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

[Android] Crash on zoom / moving on Android 5.1.1 #388

Closed
tr3v3r opened this issue Sep 17, 2019 · 13 comments
Closed

[Android] Crash on zoom / moving on Android 5.1.1 #388

tr3v3r opened this issue Sep 17, 2019 · 13 comments
Labels
wontfix This will not be worked on

Comments

@tr3v3r
Copy link
Contributor

tr3v3r commented Sep 17, 2019

Describe the bug
The app crashes (in native) while using pinch zoom by fingers or flyTo with Camera component.

To Reproduce

  1. Clone this repo.
  2. Launch the app on Xiaomi Redmi 3 ( Android 5.1.1 Lollipop, SDK 22 )
  3. Open screen with a map
  4. Try to zoom.

device-2019-09-17-165654

Expected behavior
Map shouldn't cause crash.

Versions:

  • Platfrom: Android
  • Device: Xiaomi Redmi 3
  • OS: Android 5.1.1 Lollipop
  • SDK Version: 22
  • React Native Version: 0.60.5
  • react-native-mapbox-gl/maps version: 7.0.4

Additional context
Android Studio logs

09-17 15:36:44.348 32434-514/** v A/libc: invalid address or address of corrupt block 0x559185f770 passed to dlfree
09-17 15:36:44.348 32434-514/88 A/libc: Fatal signal 11 (SIGSEGV), code 1, fault addr 0xdeadbaad in tid 514 (Thread-3535)


09-17 15:53:48.698 380-380/? I/DEBUG: Build fingerprint: 'Xiaomi/ido/ido:5.1.1/LMY47V/V9.6.2.0.LAIMIFD:user/release-keys'
09-17 15:53:48.698 380-380/? I/DEBUG: Revision: '0'
09-17 15:53:48.698 380-380/? I/DEBUG: ABI: 'arm64'
09-17 15:53:48.708 380-380/? I/DEBUG: pid: 2030, tid: 2814, name: Thread-3650  >>>  <<<
09-17 15:53:48.708 380-380/? I/DEBUG: signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0xdeadbaad
09-17 15:53:48.768 380-380/? I/DEBUG: Abort message: 'invalid address or address of corrupt block 0x55940ebd20 passed to dlfree'
09-17 15:53:48.768 380-380/? I/DEBUG:     x0   10d72f25d67642ad  x1   0000007f82505668  x2   0000000000000000  x3   00000000007f7441
09-17 15:53:48.768 380-380/? I/DEBUG:     x4   0000000000000000  x5   00000000deadbaad  x6   0000000000000000  x7   0000000000000010
09-17 15:53:48.768 380-380/? I/DEBUG:     x8   7f7f7f7f7f7f7f7f  x9   6471656b631f6e73  x10  7f7f7f7f7f7f7f7f  x11  10d72f25d67642ad
09-17 15:53:48.768 380-380/? I/DEBUG:     x12  0000000000000001  x13  10d72f25d67642ad  x14  00000000ffffffd8  x15  00000000000003c7
09-17 15:53:48.768 380-380/? I/DEBUG:     x16  0000007f491df290  x17  0000000000000001  x18  0000000000000000  x19  00000055940ebd20
09-17 15:53:48.768 380-380/? I/DEBUG:     x20  0000007f822ba000  x21  00000055940ebd30  x22  0000007f822baed0  x23  0000005594950610
09-17 15:53:48.768 380-380/? I/DEBUG:     x24  00000000080100fc  x25  0000000000000000  x26  0000000000000000  x27  0000000000002240
09-17 15:53:48.768 380-380/? I/DEBUG:     x28  000000559352b878  x29  0000007f491df290  x30  0000007f82259aa0
09-17 15:53:48.768 380-380/? I/DEBUG:     sp   0000007f491df290  pc   0000007f82259aa8  pstate 0000000060000000
09-17 15:53:48.768 380-380/? I/DEBUG: backtrace:
09-17 15:53:48.768 380-380/? I/DEBUG:     #00 pc 0000000000040aa8  /system/lib64/libc.so (dlfree+408)
09-17 15:53:48.768 380-380/? I/DEBUG:     #01 pc 0000000000013380  /system/lib64/libc.so (free+20)
09-17 15:53:48.768 380-380/? I/DEBUG:     #02 pc 00000000000d9d50  /system/vendor/lib64/egl/libGLESv2_adreno.so (rb_delete_detach_vbo_list+96)
09-17 15:53:48.768 380-380/? I/DEBUG:     #03 pc 00000000000e0008  /system/vendor/lib64/egl/libGLESv2_adreno.so (rb_perform_resolve+384)
09-17 15:53:48.768 380-380/? I/DEBUG:     #04 pc 00000000000e0488  /system/vendor/lib64/egl/libGLESv2_adreno.so (rb_resolve+524)
09-17 15:53:48.768 380-380/? I/DEBUG:     #05 pc 00000000000e91e4  /system/vendor/lib64/egl/libGLESv2_adreno.so (rb_surface_swap+204)
09-17 15:53:48.768 380-380/? I/DEBUG:     #06 pc 00000000000b4af0  /system/vendor/lib64/egl/libGLESv2_adreno.so (gl2_surface_swap+144)
09-17 15:53:48.768 380-380/? I/DEBUG:     #07 pc 000000000009c000  /system/vendor/lib64/egl/libGLESv2_adreno.so (oglSwapBuffer+148)
09-17 15:53:48.768 380-380/? I/DEBUG:     #08 pc 00000000000148c0  /system/vendor/lib64/egl/libEGL_adreno.so (qeglDrvAPI_eglSwapBuffers+1864)
09-17 15:53:48.768 380-380/? I/DEBUG:     #09 pc 00000000000098a8  /system/vendor/lib64/egl/libEGL_adreno.so (eglSwapBuffers+16)
09-17 15:53:48.768 380-380/? I/DEBUG:     #10 pc 0000000000027af8  /system/lib64/libEGL.so (eglSwapBuffers+168)
09-17 15:53:48.768 380-380/? I/DEBUG:     #11 pc 0000000000093dec  /system/lib64/libandroid_runtime.so
09-17 15:53:48.778 380-380/? I/DEBUG:     #12 pc 0000000000d46160  /data/dalvik-cache/arm64/system@framework@boot.oat
09-17 15:53:49.248 390-390/? V/WLAN_PSA: NL MSG, len[4093], NL type[0x1C] WNI type[0x5900] len[58639]
09-17 15:53:49.248 390-390/? V/WLAN_PSA: NL MSG, PID: 390
09-17 15:53:49.338 4020-4020/? I/ServiceManager: Waiting for service goodix.fp...
09-17 15:53:50.338 4020-4020/? D/FingerGoodix: go into while FingerPrint,getFingerPrintService()
09-17 15:53:50.778 2347-3345/? E/NativeCrashListener: Exception dealing with report
    android.system.ErrnoException: read failed: EAGAIN (Try again)
        at libcore.io.Posix.readBytes(Native Method)
        at libcore.io.Posix.read(Posix.java:165)
        at libcore.io.BlockGuardOs.read(BlockGuardOs.java:230)
        at android.system.Os.read(Os.java:350)
        at com.android.server.am.NativeCrashListener.consumeNativeCrashData(NativeCrashListener.java:240)
        at com.android.server.am.NativeCrashListener.run(NativeCrashListener.java:138)
@kristfal
Copy link
Member

Can you repro in the example app or build a new example that forces this crash?

@tr3v3r
Copy link
Contributor Author

tr3v3r commented Sep 17, 2019

Can you repro in the example app or build a new example that forces this crash?

@kristfal Sure! Repo with a clean project is attached. Also I've added gif with the steps to reproduce.
Unfortunately I didn't manage to get the crash on emulator. Just on real device.

@kristfal
Copy link
Member

Thanks, I gave this a go. My steps:

  1. Clone repo
  2. npm install
  3. cd android/app && keytool -genkey -v -keystore debug.keystore -storepass android -alias androiddebugkey -keypass android -keyalg RSA -keysize 2048 -validity 10000 && cd ../../
  4. react-native run-android
  5. Pinch zoom and navigate around the map for a few minutes

I was unable to generate any crashes on a range of Samsung and Motorola devices.

I also have a feeling that this issue may be an underlying GL issue in the native android SDK, given the stacktrace (eglSwapBuffers, gl2_surface_swap) and not an issue with the react native wrapper itself. As such, I suggest you do the following:

  1. File the bug report upstream with a link back to this issue
  2. Also add a comment here with a link to this issue and the new issue created at the upstream repo

@tr3v3r
Copy link
Contributor Author

tr3v3r commented Sep 20, 2019

Thanks @kristfal!
I've followed to your suggestions!

@kristfal
Copy link
Member

Great. Keeping this ticket open so we can monitor upstream status. Once a release is available with a fix, we’ll grab the updated versions and publish here as well.

@indexld
Copy link

indexld commented Oct 3, 2019

I've same issue, hope for a fix :(

Versions:

Platfrom: Android
Device: Honor 5X
OS: Android 5.1.1 Lollipop
SDK Version: 28
React Native Version: 0.59.10
react-native-mapbox-gl/maps version: 7.0.5 (tested with 7.0.3/7.0.4/7.0.5/7.0.6)

@kristfal
Copy link
Member

kristfal commented Oct 3, 2019 via email

@stale
Copy link

stale bot commented Dec 2, 2019

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Dec 2, 2019
@kristfal
Copy link
Member

kristfal commented Dec 2, 2019

Not stale.

@stale stale bot removed the wontfix This will not be worked on label Dec 2, 2019
@tr3v3r
Copy link
Contributor Author

tr3v3r commented Dec 3, 2019

Hello, @kristfal!

Fixed in mapbox/mapbox-gl-native#15978.
Could we update dependencies?

@mfazekas
Copy link
Contributor

mfazekas commented Dec 3, 2019

Hello, @kristfal!

Fixed in mapbox/mapbox-gl-native#1597.
Could we update dependencies?

@tr3v3r Is 1597 the correct issue ?!
The title says: Move addition of "events=true" parameter to FileSource implementation

@tr3v3r
Copy link
Contributor Author

tr3v3r commented Dec 3, 2019

Hello, @kristfal!
Fixed in mapbox/mapbox-gl-native#1597.
Could we update dependencies?

@tr3v3r Is 1597 the correct issue ?!
The title says: Move addition of "events=true" parameter to FileSource implementation

Sorry, I've missed "8" at the end ;) Corrected

@stale
Copy link

stale bot commented Feb 1, 2020

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@stale stale bot added the wontfix This will not be worked on label Feb 1, 2020
@stale stale bot closed this as completed Feb 8, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

4 participants