Skip to content

Bug: libEasyGBSDevice.so (armeabi-v7a) 在32位设备上推流崩溃,能修复一下吗? #22

@LiangZhenDong

Description

@LiangZhenDong

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions