gfx-rs/wgpu-native

Android mising symbol at crash.

ygdrasil-io opened this issue · 1 comments

I'm working on a new binding for Android and encountered a crash. Most of the stacktrace lacks symbols, making it difficult to debug. I know the app crashes at wgpuInstanceCreateSurface, but I'm unable to pinpoint the exact cause.

Is there a way to increase debug symbol generation during compilation?

2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A  pid: 8678, tid: 8678, name: asil.wgpu.debug  >>> io.ygdrasil.wgpu.debug <<<
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #01 pc 00000000007e7068  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libwgpu4k.so
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #02 pc 0000000000912720  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libwgpu4k.so
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #03 pc 0000000000914b00  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libwgpu4k.so
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #04 pc 000000000079f0e4  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libwgpu4k.so
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #05 pc 000000000077a560  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libwgpu4k.so
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #06 pc 000000000079f070  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libwgpu4k.so
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #07 pc 00000000007828c8  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libwgpu4k.so
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #08 pc 000000000046f818  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libwgpu4k.so (wgpuInstanceCreateSurface+2236)
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #09 pc 000000000001404c  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libjnidispatch.so (BuildId: ddeb5c7dcafc8a4ed4ba180f840e1967d8207a8b)
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #10 pc 0000000000010a78  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libjnidispatch.so (BuildId: ddeb5c7dcafc8a4ed4ba180f840e1967d8207a8b)
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #11 pc 00000000000063c8  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libjnidispatch.so (BuildId: ddeb5c7dcafc8a4ed4ba180f840e1967d8207a8b)
2024-10-13 15:00:45.946  8747-8747  DEBUG                   crash_dump64                         A        #12 pc 00000000000082ac  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/lib/arm64/libjnidispatch.so (Java_com_sun_jna_Native_invokeLong+32) (BuildId: ddeb5c7dcafc8a4ed4ba180f840e1967d8207a8b)
2024-10-13 15:00:45.947  8747-8747  DEBUG                   crash_dump64                         A        #18 pc 0000000000262c20  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/base.apk (com.sun.jna.Function.invoke+0)
2024-10-13 15:00:45.947  8747-8747  DEBUG                   crash_dump64                         A        #23 pc 000000000026300c  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/base.apk (com.sun.jna.Function.invoke+0)
2024-10-13 15:00:45.947  8747-8747  DEBUG                   crash_dump64                         A        #29 pc 0000000000263f00  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/base.apk (com.sun.jna.Library$Handler.invoke+0)
2024-10-13 15:00:45.947  8747-8747  DEBUG                   crash_dump64                         A        #45 pc 000000000001c4e0  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/base.apk (webgpu.Functions_androidKt.wgpuInstanceCreateSurface-f-W8i58+0)
2024-10-13 15:00:45.947  8747-8747  DEBUG                   crash_dump64                         A        #50 pc 000000000000152c  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/base.apk (io.ygdrasil.wgpu.WGPUSurfaceViewKt.getSurface-AAZ9vLY+0)
2024-10-13 15:00:45.947  8747-8747  DEBUG                   crash_dump64                         A        #55 pc 0000000000001790  /data/app/~~xgOxROLCKVz6ERCb65f8EQ==/io.ygdrasil.wgpu.debug-S3fXvKnCkMt9A1-pNm22Ug==/base.apk (io.ygdrasil.wgpu.WGPUSurfaceView.surfaceCreated+0)

Additionally, when a Rust panic occurs on desktop, I receive a helpful error message.

thread '<unnamed>' panicked at src/lib.rs:605:5:
Error in wgpuSurfaceConfigure: Validation Error 

Is there a way to achieve the same behavior on Android?

The issues seem related to Java native access, when using JNI we can get the correct stacktrace.