LibVLC - MediaPlayer.stop() ANRs
Hello guys,
first thank you for the new libVLC (2.5.7 - 2.5.8)! It's a big step forward, but there are still some issues. First ANRs, mostly in MediaPlayer.stop
method. Here are some callstacks:
"main" prio=5 tid=1 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x416caea0 self=0x415c74c8
| sysTid=15493 nice=-11 sched=0/0 cgrp=apps handle=1073873236
| state=S schedstat=( 0 0 0 ) utm=2784 stm=436 core=0
native: pc 0000000000022140 /system/lib/libc.so (syscall+28)
native: pc 00000000003fa867 /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
at org.videolan.libvlc.MediaPlayer.nativeStop (MediaPlayer.java)
at org.videolan.libvlc.MediaPlayer.stop (MediaPlayer.java)
at cz.yetanotherview.webcamviewer.app.fullscreen.LiveStreamActivity.onStop (LiveStreamActivity.java)
"Binder_1" prio=5 tid=8 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x420e8cf0 self=0x726f5a20
| sysTid=15503 nice=0 sched=0/0 cgrp=apps handle=1919899608
| state=S schedstat=( 0 0 0 ) utm=2 stm=3 core=2
native: pc 000000000002075c /system/lib/libc.so (__ioctl+8)
native: pc 000000000002cfc3 /system/lib/libc.so (ioctl+14)
native: pc 000000000001d471 /system/lib/libbinder.so (android::IPCThreadState::talkWithDriver(bool)+140)
native: pc 000000000001db7b /system/lib/libbinder.so (android::IPCThreadState::getAndExecuteCommand()+6)
native: pc 000000000001dc11 /system/lib/libbinder.so (android::IPCThreadState::joinThreadPool(bool)+48)
native: pc 0000000000021a7d /system/lib/libbinder.so
native: pc 000000000000eab5 /system/lib/libutils.so (android::Thread::_threadLoop(void*)+216)
native: pc 0000000000052101 /system/lib/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+68)
native: pc 000000000000e5e7 /system/lib/libutils.so
native: pc 000000000000d288 /system/lib/libc.so (__thread_entry+72)
native: pc 000000000000d420 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run (Native Method)
"VlcObject" prio=10 tid=29 NATIVE
| group="main" sCount=1 dsCount=0 obj=0x42b3bfc8 self=0x7abc76f0
| sysTid=16583 nice=-11 sched=0/0 cgrp=apps handle=2034767776
| state=S schedstat=( 0 0 0 ) utm=28 stm=23 core=0
native: pc 0000000000021058 /system/lib/libc.so (nanosleep+12)
native: pc 0000000000a20e5d /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so (av_usleep+56)
native: pc 0000000000a49151 /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 0000000000a318c1 /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 0000000000a31f0b /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so (avio_read+62)
native: pc 0000000000a6e2b9 /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 0000000000a6e22d /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 0000000000a6c06d /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 0000000000aa4261 /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so (ff_read_packet+156)
native: pc 0000000000aa572b /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 0000000000aa50fd /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so (av_read_frame+720)
native: pc 0000000000a477d5 /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 0000000000aa4261 /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so (ff_read_packet+156)
native: pc 0000000000aa572b /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 0000000000aa50fd /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so (av_read_frame+720)
native: pc 00000000002d2037 /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 00000000003cd62b /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 00000000003ce457 /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 00000000003fa42d /data/app-lib/cz.yetanotherview.webcamviewer.app-8/libvlcjni.so
native: pc 000000000000d288 /system/lib/libc.so (__thread_entry+72)
native: pc 000000000000d420 /system/lib/libc.so (pthread_create+240)
at dalvik.system.NativeStart.run (Native Method)
or different MediaPlayer.stop
callstack:
"main" prio=5 tid=1 Native
| group="main" sCount=1 dsCount=0 obj=0x754f53b0 self=0xab0d2ca0
| sysTid=11181 nice=0 cgrp=default sched=0/0 handle=0xf7479b34
| state=S schedstat=( 10093325588 11625662025 25218 ) utm=806 stm=203 core=0 HZ=100
| stack=0xff765000-0xff767000 stackSize=8MB
| held mutexes=
native: pc 0000000000016908 /system/lib/libc.so (syscall+28)
native: pc 00000000003fa867 /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (???)
native: pc 00000000003f275b /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (vlc_cond_wait+114)
native: pc 00000000003f2ac1 /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (vlc_sem_wait+44)
native: pc 00000000003fa15b /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (vlc_join+10)
native: pc 00000000003ce57d /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (input_Close+18)
native: pc 00000000003b66d5 /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (libvlc_media_player_stop+28)
native: pc 000000000042d5cf /data/app/cz.yetanotherview.webcamviewer.app-2/oat/arm/base.odex (Java_org_videolan_libvlc_MediaPlayer_nativeStop__+74)
at org.videolan.libvlc.MediaPlayer.nativeStop (MediaPlayer.java)
at org.videolan.libvlc.MediaPlayer.stop (MediaPlayer.java)
at cz.yetanotherview.webcamviewer.app.fullscreen.LiveStreamActivity.onStop (LiveStreamActivity.java)
"Binder:11181_1" prio=5 tid=7 Native
| group="main" sCount=1 dsCount=0 obj=0x12d331c0 self=0xab50a338
| sysTid=11191 nice=0 cgrp=default sched=0/0 handle=0xf42e6930
| state=S schedstat=( 252152610 808027669 2165 ) utm=8 stm=17 core=2 HZ=100
| stack=0xf41ea000-0xf41ec000 stackSize=1014KB
| held mutexes=
native: pc 0000000000042dc4 /system/lib/libc.so (__ioctl+8)
native: pc 00000000000498c5 /system/lib/libc.so (ioctl+14)
native: pc 000000000001ea23 /system/lib/libbinder.so (_ZN7android14IPCThreadState14talkWithDriverEb+174)
native: pc 000000000001ef67 /system/lib/libbinder.so (_ZN7android14IPCThreadState20getAndExecuteCommandEv+6)
native: pc 000000000001f081 /system/lib/libbinder.so (_ZN7android14IPCThreadState14joinThreadPoolEb+48)
native: pc 0000000000023b81 /system/lib/libbinder.so (???)
native: pc 000000000001011d /system/lib/libutils.so (_ZN7android6Thread11_threadLoopEPv+112)
native: pc 0000000000060c9b /system/lib/libandroid_runtime.so (_ZN7android14AndroidRuntime15javaThreadShellEPv+70)
native: pc 000000000004185b /system/lib/libc.so (_ZL15__pthread_startPv+30)
native: pc 00000000000192a5 /system/lib/libc.so (__start_thread+6)
"VlcObject" prio=5 tid=30 Native
| group="main" sCount=1 dsCount=0 obj=0x12e2b0a0 self=0xabdc35b0
| sysTid=12146 nice=0 cgrp=default sched=0/0 handle=0xdfc75930
| state=S schedstat=( 517876813 160025623 1298 ) utm=27 stm=24 core=0 HZ=100
| stack=0xdfb79000-0xdfb7b000 stackSize=1014KB
| held mutexes=
native: pc 0000000000043b24 /system/lib/libc.so (nanosleep+12)
native: pc 0000000000a20e5d /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (av_usleep+56)
native: pc 0000000000a49151 /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (???)
native: pc 0000000000a318c1 /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (???)
native: pc 0000000000a31f0b /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (avio_read+62)
native: pc 0000000000a6e2b9 /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (???)
native: pc 0000000000a6e22d /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (???)
native: pc 0000000000a6c06d /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (???)
native: pc 0000000000aa4261 /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (ff_read_packet+156)
native: pc 0000000000aa572b /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (???)
native: pc 0000000000aa50fd /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (av_read_frame+720)
native: pc 0000000000a477d5 /data/app/cz.yetanotherview.webcamviewer.app-2/lib/arm/libvlcjni.so (???)
native: pc 0000000000aa4261 /data/app/cz.yetanothervie
Mostly on Xiaomi Redmi Note 4, HTC One (m7), Nexus 7, P10 lite ...
and Android 4.4 - 7.0
In the Google Play console is more categories for every ANR, if you need any other specific information's, just write me here. Thank you!