bilibili / bilibili/ijkplayer

ijkio : ijkio_manager_io_open出现crash

Open
#3,904 1 comment 0 reactions 0 assignees View on GitHub
Dominant language
C
Stars
33.2k
Forks
8.2k
PR merge metrics
No merged PRs in 30d

Description

问题:
采用ijkio:androidio:XXX播放视频,测试顺利,但用户使用时会偶现底层crash,看堆栈发生在ijkio_manager_io_open中。

请问具体是什么导致的呢?底层逻辑没有自行改动。

出错堆栈如下:
`
#00 pc 0003c08c /system/lib/libc.so (tgkill+12) [armeabi-v7a::49b8863b7c77c315558697fdd025c636]
--
2 #01 pc 00017939 /system/lib/libc.so (pthread_kill+52) [armeabi-v7a::49b8863b7c77c315558697fdd025c636]
3 #02 pc 0001854f /system/lib/libc.so (raise+10) [armeabi-v7a::49b8863b7c77c315558697fdd025c636]
4 #03 pc 00014d4d /system/lib/libc.so (__libc_android_abort+36) [armeabi-v7a::49b8863b7c77c315558697fdd025c636]
5 #04 pc 000130a0 /system/lib/libc.so (abort+4) [armeabi-v7a::49b8863b7c77c315558697fdd025c636]
6 #05 pc 000a728b /system/lib/libart.so (_ZN3art10LogMessageD1Ev+1430) [armeabi-v7a::1daedcb8227b3fa9121ad025c2f9e87b]
7 #06 pc 00156f7f /system/lib/libart.so (_ZN3art22IndirectReferenceTable17AbortIfNoCheckJNIEv+66) [armeabi-v7a::1daedcb8227b3fa9121ad025c2f9e87b]
8 #07 pc 0022f0e5 /system/lib/libart.so (_ZNK3art6Thread13DecodeJObjectEP8_jobject+300) [armeabi-v7a::1daedcb8227b3fa9121ad025c2f9e87b]
9 #08 pc 001b57cf /system/lib/libart.so (_ZN3art3JNI12NewGlobalRefEP7_JNIEnvP8_jobject+270) [armeabi-v7a::1daedcb8227b3fa9121ad025c2f9e87b]
10 #09 pc 00031665 /data/app/com.nice.main-1/lib/arm/libijkplayer.so [armeabi-v7a::6e8ef2b248e8ab577f6aba550d068bee]
11 #10 pc 0002f655 /data/app/com.nice.main-1/lib/arm/libijkplayer.so (ijkio_manager_io_open+268) [armeabi-v7a::6e8ef2b248e8ab577f6aba550d068bee]
12 #11 pc 0002ea0d /data/app/com.nice.main-1/lib/arm/libijkplayer.so [armeabi-v7a::6e8ef2b248e8ab577f6aba550d068bee]
13 #12 pc 00111319 /data/app/com.nice.main-1/lib/arm/libijkffmpeg.so (ffurl_connect+290) [armeabi-v7a::928548e17664b0e8b5c65a997dde704b]

`
@raymond1012 hi,帮忙看下这个问题可以吗 自查逻辑没有找到出错点~感谢~

Contributor guide

No contributing guide indexed for this repository

Research direction

Start at ijkio_manager_io_open in libijkplayer.so and follow the JNI NewGlobalRef frame in the supplied stack trace, then inspect its caller through ffurl_connect. Reproduce the intermittent Android crash if possible and use the stack evidence to identify the invalid reference or lifecycle condition; done means the cause is confirmed and a verified fix or diagnostic is available.

Written by the indexing model from the issue text.

Assessment

Tech stack
android, c
Domain
mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
20/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.