-
Notifications
You must be signed in to change notification settings - Fork 38
Description
Bug: libEasyGBSDevice.so (armeabi-v7a) 在32位设备上推流崩溃
BuildId: 97b07fb085c40034a6f11b47e8619a9f1f516cf6
崩溃信息:
Fatal signal 11 (SIGSEGV), fault addr 0x14
崩溃堆栈:
__GB28181DeviceCALLBACK+316 → CallStaticVoidMethod+30
原因分析:
__GB28181DeviceCALLBACK 中使用的 jclass 值为 0x14,
这是一个 JNI local reference,只在创建线程内有效。
sua_media_send_thread 是新创建的 native 线程,
该线程中 0x14 不是有效的引用。
修复建议:
在 JNI_OnLoad 或 create() 中通过 FindClass 获取 jclass 后,
使用 NewGlobalRef() 转为 global reference 再缓存。
复现条件:
- 32位设备(armeabi-v7a),arm64-v8a 版本无此问题
- eventType=6 (START_AUDIO_VIDEO) 回调时触发
2026-02-10 17:39:48.926 23919-24033 BufferPoolAccessor2.0 D bufferpool2 0xa4fd3918 : 4(8192 size) total buffers - 4(8192 size) used buffers - 0/5 (recycle/alloc) - 4/793 (fetch/transfer)
2026-02-10 17:39:50.639 23919-24053 EASYDARWIN D __GB28181DeviceCALLBACK eventType=6 AttachCurrentThread ret:0
2026-02-10 17:39:50.640 23919-24053 debuggerd I signal_handler sig: 11
2026-02-10 17:39:50.640 23919-24053 libc A Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x14 in tid 24053 (Thread-5), pid 23919 (easygbs.easygbd)
2026-02-10 17:39:53.258 24056-24056 DEBUG A Cmdline: com.easygbs.easygbd
2026-02-10 17:39:53.258 24056-24056 DEBUG A pid: 23919, tid: 24053, name: Thread-5 >>> com.easygbs.easygbd <<<
2026-02-10 17:39:53.261 24056-24056 DEBUG A #5 pc 00025caf /data/app/~~CRHZXuF9LTtBKCqkb7RpkA==/com.easygbs.easygbd-eL9pewTF2eVt5QNjEM_8Zw==/base.apk!libEasyGBSDevice.so (_JNIEnv::CallStaticVoidMethod(_jclass*, _jmethodID*, ...)+30) (BuildId: 97b07fb085c40034a6f11b47e8619a9f1f516cf6)
2026-02-10 17:39:53.261 24056-24056 DEBUG A #6 pc 00025e99 /data/app/~~CRHZXuF9LTtBKCqkb7RpkA==/com.easygbs.easygbd-eL9pewTF2eVt5QNjEM_8Zw==/base.apk!libEasyGBSDevice.so (__GB28181DeviceCALLBACK(void*, void*, int, int, char*, int)+316) (BuildId: 97b07fb085c40034a6f11b47e8619a9f1f516cf6)
2026-02-10 17:39:53.261 24056-24056 DEBUG A #7 pc 000531fb /data/app/~~CRHZXuF9LTtBKCqkb7RpkA==/com.easygbs.easygbd-eL9pewTF2eVt5QNjEM_8Zw==/base.apk!libEasyGBSDevice.so (LiveStreamScheduler::CallbackEvent(int, int, char*, int)+22) (BuildId: 97b07fb085c40034a6f11b47e8619a9f1f516cf6)
2026-02-10 17:39:53.261 24056-24056 DEBUG A #8 pc 0005203d /data/app/~~CRHZXuF9LTtBKCqkb7RpkA==/com.easygbs.easygbd-eL9pewTF2eVt5QNjEM_8Zw==/base.apk!libEasyGBSDevice.so (sua_media_live_video_init(sua_session*)+236) (BuildId: 97b07fb085c40034a6f11b47e8619a9f1f516cf6)
2026-02-10 17:39:53.261 24056-24056 DEBUG A #9 pc 00052151 /data/app/~~CRHZXuF9LTtBKCqkb7RpkA==/com.easygbs.easygbd-eL9pewTF2eVt5QNjEM_8Zw==/base.apk!libEasyGBSDevice.so (sua_media_live_init(sua_session*)+28) (BuildId: 97b07fb085c40034a6f11b47e8619a9f1f516cf6)
2026-02-10 17:39:53.262 24056-24056 DEBUG A #10 pc 000523f7 /data/app/~~CRHZXuF9LTtBKCqkb7RpkA==/com.easygbs.easygbd-eL9pewTF2eVt5QNjEM_8Zw==/base.apk!libEasyGBSDevice.so (sua_media_send_thread(void*)+14) (BuildId: 97b07fb085c40034a6f11b47e8619a9f1f516cf6)
2026-02-10 17:39:53.822 23919-24053 debuggerd I uid: 10097, dumpable: 1