Skip to content

Deadlock when setting libvlc instance

Type
"main" prio=5 tid=1 Native
  #00  pc 000000000004b20c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
  #00  pc 000000000004edec  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144)
  #00  pc 00000000000b0664  /apex/com.android.runtime/lib64/bionic/libc.so (NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)+348)
  #00  pc 00000000000935cc  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libc++_shared.so (std::__ndk1::mutex::lock()+8)
  #00  pc 000000000012bfb8  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libmla.so (medialibrary::MediaLibrary::resumeBackgroundOperations()+24)
  #00  pc 00000000000f9154  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libmla.so (AndroidMediaLibrary::resumeBackgroundOperations()+28)
  at org.videolan.medialibrary.MedialibraryImpl.nativeResumeBackgroundOperations (Native method)
  at org.videolan.medialibrary.MedialibraryImpl.resumeBackgroundOperations (MedialibraryImpl.java:392)
  at org.videolan.vlc.MediaParsingService.setupMedialibrary (MediaParsingService.kt:250)
  at org.videolan.vlc.MediaParsingService.onStartCommand (MediaParsingService.kt:182)
  
Type
"DefaultDispatcher-worker-3 @coroutine#20" daemon prio=5 tid=18 Native
  #00  pc 000000000004b20c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
  #00  pc 00000000000afe48  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_join+244)
  #00  pc 000000000009dde4  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libc++_shared.so (std::__ndk1::thread::join()+28)
  #00  pc 00000000001b4fa4  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libmla.so (medialibrary::parser::Parser::stop()+64)
  #00  pc 000000000012e980  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libmla.so (medialibrary::MediaLibrary::setExternalLibvlcInstance(libvlc_instance_t*)+220)
  at org.videolan.medialibrary.MedialibraryImpl.nativeSetLibVLCInstance (Native method)
  at org.videolan.medialibrary.MedialibraryImpl.setLibVLCInstance (MedialibraryImpl.java:141)

Type
  "DefaultDispatch" prio=5 (not attached)
  #00  pc 000000000004b20c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
  #00  pc 000000000004edec  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144)
  #00  pc 00000000000b0664  /apex/com.android.runtime/lib64/bionic/libc.so (NonPI::MutexLockWithTimeout(pthread_mutex_internal_t*, bool, timespec const*)+348)
  #00  pc 00000000000935cc  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libc++_shared.so (std::__ndk1::mutex::lock()+8)
  #00  pc 000000000012c4b4  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libmla.so (medialibrary::MediaLibrary::thumbnailer() const+28)
  #00  pc 00000000001cfdb8  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libmla.so (medialibrary::ModificationNotifier::run()+1868)
  #00  pc 00000000001d3e8c  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libmla.so (void* std::__ndk1::__thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, void (medialibrary::ModificationNotifier::*)(), medialibrary::ModificationNotifier*> >(void*)+64)
  #00  pc 00000000000af880  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
  #00  pc 00000000000500d0  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)

Type
"DefaultDispatch" prio=5 (not attached)
  #00  pc 000000000004b20c  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+28)
  #00  pc 000000000004edec  /apex/com.android.runtime/lib64/bionic/libc.so (__futex_wait_ex(void volatile*, bool, int, bool, timespec const*)+144)
  #00  pc 00000000000aeca0  /apex/com.android.runtime/lib64/bionic/libc.so (pthread_cond_wait+60)
  #00  pc 0000000000052cb8  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libc++_shared.so (std::__ndk1::condition_variable::wait(std::__ndk1::unique_lock<std::__ndk1::mutex>&)+20)
  #00  pc 00000000001d0e1c  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libmla.so (medialibrary::ModificationNotifier::flush()+80)
  #00  pc 000000000012c324  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libmla.so (medialibrary::MediaLibrary::onParserIdleChanged(bool)+272)
  #00  pc 00000000001b8d34  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libmla.so (medialibrary::parser::Worker::mainloop()+4836)
  #00  pc 00000000001ba2a4  /data/app/~~HXakfVGF5EfkCgkdEhU_TA==/org.videolan.vlc-aHCDpc_tSETEjGIs0a05eQ==/lib/arm64/libmla.so (void* std::__ndk1::__thread_proxy<std::__ndk1::tuple<std::__ndk1::unique_ptr<std::__ndk1::__thread_struct, std::__ndk1::default_delete<std::__ndk1::__thread_struct> >, void (medialibrary::parser::Worker::*)(), medialibrary::parser::Worker*> >(void*)+64)
  #00  pc 00000000000af880  /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+64)
  #00  pc 00000000000500d0  /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64)
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information