maplibre / flutter-maplibre-gl

Customizable, performant and vendor-free vector and raster maps, flutter wrapper for maplibre-native and maplibre-gl-js (fork of flutter-mapbox-gl/maps)
https://pub.dev/packages/maplibre_gl
Other
228 stars 125 forks source link

[BUG] Android crashes with "uncaught exception of type jni::PendingJavaException" #511

Closed nilsmagnus closed 1 month ago

nilsmagnus commented 1 month ago

Platforms

android

Version of flutter maplibre_gl

0.20.0

Bug Description

It seems like the android-app is crashing on some specific map-tiles

Steps to Reproduce

Run the app with styles.json from https://bytecode.no/barents.json and pan to norway.

Expected Results

App runs without problems.

Actual Results

App crashes.

Code Sample


➜  aisapp git:(main) ✗ flutter run
Launching lib/main.dart on Pixel 6 in debug mode...
Running Gradle task 'assembleDebug'...
Note: Some input files use or override a deprecated API.
Note: Recompile with -Xlint:deprecation for details.
Note: Some input files use unchecked or unsafe operations.
Note: Recompile with -Xlint:unchecked for details.
Running Gradle task 'assembleDebug'...                             23.2s
✓ Built build/app/outputs/flutter-apk/app-debug.apk
Syncing files to device Pixel 6...                                  27ms

Flutter run key commands.
r Hot reload. 🔥🔥🔥
R Hot restart.
h List all available interactive commands.
d Detach (terminate "flutter run" but leave application running).
c Clear the screen
q Quit (terminate the application on the device).

A Dart VM Service on Pixel 6 is available at: http://127.0.0.1:52367/q4wFVfCoP3s=/
D/nativeloader(30702): Load /data/app/~~tdp1ZoxcNPeEa02WVGiUfQ==/no.bytecode.aisapp2-Bwoh5ZFWUjZUohcSaCSNQQ==/lib/arm64/libmaplibre.so using ns clns-4 from class loader (caller=/data/app/~~tdp1ZoxcNPeEa02WVGiUfQ==/no.bytecode.aisapp2-Bwoh5ZFWUjZUohcSaCSNQQ==/base.apk): ok
I/PlatformViewsController(30702): Hosting view in view hierarchy for platform view: 0
I/PlatformViewsController(30702): PlatformView is using SurfaceProducer backend
D/CompatibilityChangeReporter(30702): Compat change id reported: 236825255; UID 10414; state: ENABLED
V/Mbgl-ConnectivityReceiver(30702): connected - true
The Flutter DevTools debugger and profiler on Pixel 6 is available at:
http://127.0.0.1:9103?uri=http://127.0.0.1:52367/q4wFVfCoP3s=/
I/Mbgl-EGLConfigChooser(30702): In emulator: false
I/Mbgl    (30702): {TextureViewRend}[General]: GPU Identifier: Mali-G78
W/Mbgl    (30702): {TextureViewRend}[ParseStyle]: Layer '1X3VZM8cuf_0' has an invalid value for text-font and will not render text. Output values must be contained as literals within the expression.
W/Mbgl    (30702): {TextureViewRend}[ParseStyle]: Layer '1X3VZM8cuf_0' has an invalid value for text-font and will not render text. Output values must be contained as literals within the expression.
W/Mbgl    (30702): {TextureViewRend}[ParseStyle]: Layer '1X3VZM8cuf_0' has an invalid value for text-font and will not render text. Output values must be contained as literals within the expression.
W/Mbgl    (30702): {TextureViewRend}[ParseStyle]: Layer '1X3VZM8cuf_0' has an invalid value for text-font and will not render text. Output values must be contained as literals within the expression.
W/System.err(30702): java.lang.IllegalStateException: Properties should not be null
W/System.err(30702):    at org.maplibre.geojson.Feature.properties(Feature.java:264)
E/libc++abi(30702): terminating with uncaught exception of type jni::PendingJavaException
F/libc    (30702): Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 30781 (Worker 4), pid 30702 (ytecode.aisapp2)
*** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
Build fingerprint: 'google/oriole/oriole:14/AP2A.240905.003.F1/12235381:user/release-keys'
Revision: 'MP1.0'
ABI: 'arm64'
Timestamp: 2024-10-12 10:58:35.248410446+0200
Process uptime: 3s
Cmdline: no.bytecode.aisapp2
pid: 30702, tid: 30781, name: Worker 4  >>> no.bytecode.aisapp2 <<<
uid: 10414
tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
Abort message: 'terminating with uncaught exception of type jni::PendingJavaException'
    x0  0000000000000000  x1  000000000000783d  x2  0000000000000006  x3  0000006d44b99f20
    x4  736f646277641f73  x5  736f646277641f73  x6  736f646277641f73  x7  7f7f7f7f7f7f7f7f
    x8  00000000000000f0  x9  0000007136b16350  x10 0000000000000001  x11 0000007136b67170
    x12 0000007150562020  x13 000000007fffffff  x14 000000000098422e  x15 0000080ee145f7c0
    x16 0000007136bcdfd0  x17 0000007136bb9560  x18 0000006d43518000  x19 00000000000077ee
    x20 000000000000783d  x21 00000000ffffffff  x22 0000006d44b9a050  x23 0000006d44b9a090
    x24 0000006d44b9a170  x25 0000006d44b9a0b8  x26 0000000000000001  x27 c0c0c0c0c0c0c0c1
    x28 0000000000000055  x29 0000006d44b99fa0
    lr  0000007136b508b8  sp  0000006d44b99f00  pc  0000007136b508e4  pst 0000000000001000
8 total frames
backtrace:
      #00 pc 000000000005d8e4  /apex/com.android.runtime/lib64/bionic/libc.so (abort+164) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
      #01 pc 00000000009bf998  /data/app/~~tdp1ZoxcNPeEa02WVGiUfQ==/no.bytecode.aisapp2-Bwoh5ZFWUjZUohcSaCSNQQ==/lib/arm64/libmaplibre.so (BuildId: 545887988105fea909ce11acfe599ad1e7db51a4)
      #02 pc 00000000009bfbdc  /data/app/~~tdp1ZoxcNPeEa02WVGiUfQ==/no.bytecode.aisapp2-Bwoh5ZFWUjZUohcSaCSNQQ==/lib/arm64/libmaplibre.so (BuildId: 545887988105fea909ce11acfe599ad1e7db51a4)
      #03 pc 00000000009bfa50  /data/app/~~tdp1ZoxcNPeEa02WVGiUfQ==/no.bytecode.aisapp2-Bwoh5ZFWUjZUohcSaCSNQQ==/lib/arm64/libmaplibre.so (BuildId: 545887988105fea909ce11acfe599ad1e7db51a4)
      #04 pc 00000000009bf314  /data/app/~~tdp1ZoxcNPeEa02WVGiUfQ==/no.bytecode.aisapp2-Bwoh5ZFWUjZUohcSaCSNQQ==/lib/arm64/libmaplibre.so (__cxa_rethrow+228) (BuildId: 545887988105fea909ce11acfe599ad1e7db51a4)
      #05 pc 00000000007fd198  /data/app/~~tdp1ZoxcNPeEa02WVGiUfQ==/no.bytecode.aisapp2-Bwoh5ZFWUjZUohcSaCSNQQ==/lib/arm64/libmaplibre.so (BuildId: 545887988105fea909ce11acfe599ad1e7db51a4)
      #06 pc 000000000006efbc  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
      #07 pc 0000000000060d60  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 1d36f8ae6e0af6158793abea7d4f4f2b)
Lost connection to device.```