Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Activity.onDestroy中release()出现anr #3456

Open
xiaodao1990 opened this issue Aug 9, 2017 · 9 comments
Open

Activity.onDestroy中release()出现anr #3456

xiaodao1990 opened this issue Aug 9, 2017 · 9 comments

Comments

@xiaodao1990
Copy link

traces log如下
DALVIK THREADS:
(mutexes: tll=0 tsl=0 tscl=0 ghl=0)

"main" prio=5 tid=1 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x4205cca8 self=0x4204b7a0
| sysTid=11549 nice=0 sched=0/0 cgrp=apps handle=1074835796
| state=S schedstat=( 5713419789 371666769 4302 ) utm=518 stm=52 core=0
#00 pc 00021ec0 /system/lib/libc.so (__futex_syscall3+8)
#1 pc 0000f318 /system/lib/libc.so (__pthread_cond_timedwait_relative+48)
#2 pc 0000f378 /system/lib/libc.so (__pthread_cond_timedwait+64)
#3 pc 000133c7 /system/lib/libc.so (pthread_join+74)
#4 pc 00010159 /data/app-lib/com.tcl.gamecenter-1/libijksdl.so (SDL_WaitThread+12)
#5 pc 0000e0d9 /data/app-lib/com.tcl.gamecenter-1/libijkplayer.so
#6 pc 0001289b /data/app-lib/com.tcl.gamecenter-1/libijkplayer.so (ffp_wait_stop_l+14)
#7 pc 00017ee1 /data/app-lib/com.tcl.gamecenter-1/libijkplayer.so (ijkmp_shutdown_l+28)
#8 pc 0001b42b /data/app-lib/com.tcl.gamecenter-1/libijkplayer.so
#9 pc 0001b579 /data/app-lib/com.tcl.gamecenter-1/libijkplayer.so
#10 pc 0001dbcc /system/lib/libdvm.so (dvmPlatformInvoke+112)
#11 pc 0004e227 /system/lib/libdvm.so (dvmCallJNIMethod(unsigned int const*, JValue*, Method const*, Thread*)+398)
#12 pc 00026fe0 /system/lib/libdvm.so
#13 pc 0002dfa0 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
#14 pc 0002b638 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#15 pc 00060965 /system/lib/libdvm.so (dvmInvokeMethod(Object*, Method const*, ArrayObject*, ArrayObject*, ClassObject*, bool)+392)
#16 pc 000688c7 /system/lib/libdvm.so
#17 pc 00026fe0 /system/lib/libdvm.so
#18 pc 0002dfa0 /system/lib/libdvm.so (dvmMterpStd(Thread*)+76)
#19 pc 0002b638 /system/lib/libdvm.so (dvmInterpret(Thread*, Method const*, JValue*)+184)
#20 pc 00060681 /system/lib/libdvm.so (dvmCallMethodV(Thread*, Method const*, Object*, bool, JValue*, std::__va_list)+336)
#21 pc 00049e0f /system/lib/libdvm.so
#22 pc 0004de23 /system/lib/libandroid_runtime.so
#23 pc 0004eb47 /system/lib/libandroid_runtime.so (android::AndroidRuntime::start(char const*, char const*)+354)
#24 pc 0000105b /system/bin/app_process
#25 pc 0000e57b /system/lib/libc.so (__libc_init+50)
#26 pc 00000d7c /system/bin/app_process
at tv.danmaku.ijk.media.player.IjkMediaPlayer._reset(Native Method)
at tv.danmaku.ijk.media.player.IjkMediaPlayer.reset(IjkMediaPlayer.java:702)
at tv.danmaku.ijk.view.player.TIjkVideoView.release(TIjkVideoView.java:719)

@raymond1012
Copy link
Member

概率性的anr是一直存在的,从这个log来看,应该是卡在io线程了,主要原因很可能是tcp 中的dns解析getaddrinfo卡住了

@miLLlulei
Copy link

可以放到 子线程 release;

@AlanJaver
Copy link

@miLLlulei 会不会有副作用

@ranchohxk
Copy link

@raymond1012 这个需要如何解决呢

@xiaodao1990
Copy link
Author

@ranchohxk 我是按上面说的放到子线程中release的,之后就没报这个问题了

@GMF018
Copy link

GMF018 commented Jul 25, 2018

@xiaodao1990 用到目前会出现一些bug吗?

@DysaniazzZ
Copy link

@xiaodao1990 你好,这个放到子线程release的会不会有副作用。比如在结束上一个视频播放的同时开启下一个播放,可能会导致下一个视频的播放早于前一个视频的释放,导致播放出错(各种不同步)。

@Limy1992
Copy link

请问各位有解决吗?放子线程释放的过程中有概率出现SIGABRT的错误,除了放子线程还有别的办法吗

@gongshoudao
Copy link

金山也有这个问题,
#00 pc 000000000005a7b8 /apex/com.android.runtime/lib/bionic/libc.so (syscall+28)
#00 pc 00000000000a6439 /apex/com.android.runtime/lib/bionic/libc.so (pthread_join+144)
#00 pc 00000000000b9971 /data/app/chat.meme.inke-uG1IjtDsEYrLyfzIDl5OIg==/lib/arm/libksyplayer.so (SDL_WaitThread+12)
#00 pc 000000000009756f /data/app/chat.meme.inke-uG1IjtDsEYrLyfzIDl5OIg==/lib/arm/libksyplayer.so (???)
#00 pc 000000000009bbf3 /data/app/chat.meme.inke-uG1IjtDsEYrLyfzIDl5OIg==/lib/arm/libksyplayer.so (ffp_wait_stop_l+30)
#00 pc 00000000000a851f /data/app/chat.meme.inke-uG1IjtDsEYrLyfzIDl5OIg==/lib/arm/libksyplayer.so (???)
at com.ksyun.media.player.KSYMediaPlayer._stop (Native method)
at com.ksyun.media.player.KSYMediaPlayer.stop (SourceFile:3)
at com.ksyun.media.player.KSYTextureView.stop (SourceFile:2)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants