Android: Crash when fast switching video tracks
With vlc-android master and VLC master (4.0), Android 13 / Pixel 6a:
Fatal signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x100000009 in tid 21737 (HwBinder:21495_), pid 21495 (main)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A Build fingerprint: 'google/bluejay/bluejay:13/T1B1.220819.007/9034361:user/release-keys'
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A Revision: 'MP1.0'
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A ABI: 'arm64'
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A Timestamp: 2022-09-27 13:40:52.314353229+0200
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A Process uptime: 10s
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A Cmdline: org.videolan.vlc.debug
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A pid: 21495, tid: 21737, name: HwBinder:21495_ >>> org.videolan.vlc.debug <<<
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A uid: 10327
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A tagged_addr_ctrl: 0000000000000001 (PR_TAGGED_ADDR_ENABLE)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A signal 11 (SIGSEGV), code 1 (SEGV_MAPERR), fault addr 0x0000000100000009
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A x0 b400007041c73008 x1 0000006e765e7b70 x2 00000071fceafe6c x3 0000006e765e7b80
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A x4 0000006e765e7b78 x5 b400006fc1d72455 x6 6f656469762e6975 x7 6c506f656469562e
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A x8 0000000000000004 x9 0000000000000016 x10 000000003b9aca00 x11 0000000000000000
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A x12 000000003b9ac9ff x13 000000007fffffff x14 000000000687fa60 x15 00000c07e6f95fe2
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A x16 00000071fcfbd0f0 x17 00000071e4579a70 x18 0000006e76462000 x19 b400007041c73008
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A x20 0000000100000001 x21 0000006e765e7b80 x22 0000000000000017 x23 000053f7000000db
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A x24 0000000000000007 x25 0000000000000001 x26 0000000000000000 x27 00000000ffffffed
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A x28 0000000000000000 x29 0000006e765e7b30
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A lr 00000071fcf4dfc4 sp 0000006e765e7b30 pc 00000071e4579b0c pst 0000000020001000
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A backtrace:
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #00 pc 00000000001c7b0c /system/lib64/libandroid_runtime.so (std::__1::pair<std::__1::__hash_iterator<std::__1::__hash_node<std::__1::__hash_value_type<unsigned long, long>, void*>*>, bool> std::__1::__hash_table<std::__1::__hash_value_type<unsigned long, long>, std::__1::__unordered_map_hasher<unsigned long, std::__1::__hash_value_type<unsigned long, long>, std::__1::hash<unsigned long>, true>, std::__1::__unordered_map_equal<unsigned long, std::__1::__hash_value_type<unsigned long, long>, std::__1::equal_to<unsigned long>, true>, std::__1::allocator<std::__1::__hash_value_type<unsigned long, long> > >::__emplace_unique_key_args<unsigned long, std::__1::piecewise_construct_t const&, std::__1::tuple<unsigned long const&>, std::__1::tuple<> >(unsigned long const&, std::__1::piecewise_construct_t const&, std::__1::tuple<unsigned long const&>&&, std::__1::tuple<>&&)+156) (BuildId: 566824c15d29a3526126878f744eb73a)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #01 pc 0000000000106fc0 /system/lib64/libgui.so (android::BLASTBufferQueue::onFrameDequeued(unsigned long)+96) (BuildId: 01f3c265cec1fe408d5ac82856505ba9)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #02 pc 00000000000aaa9c /system/lib64/libgui.so (android::ConsumerBase::onFrameDequeued(unsigned long)+172) (BuildId: 01f3c265cec1fe408d5ac82856505ba9)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #03 pc 000000000008decc /system/lib64/libgui.so (android::BufferQueue::ProxyConsumerListener::onFrameDequeued(unsigned long)+92) (BuildId: 01f3c265cec1fe408d5ac82856505ba9)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #04 pc 0000000000094504 /system/lib64/libgui.so (android::BufferQueueProducer::dequeueBuffer(int*, android::sp<android::Fence>*, unsigned int, unsigned int, int, unsigned long, unsigned long*, android::FrameEventHistoryDelta*)+3284) (BuildId: 01f3c265cec1fe408d5ac82856505ba9)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #05 pc 0000000000105ec0 /system/lib64/libgui.so (android::hardware::graphics::bufferqueue::V2_0::utils::B2HGraphicBufferProducer::dequeueBuffer(android::hardware::graphics::bufferqueue::V2_0::IGraphicBufferProducer::DequeueBufferInput const&, std::__1::function<void (android::hardware::graphics::bufferqueue::V2_0::Status, int, android::hardware::graphics::bufferqueue::V2_0::IGraphicBufferProducer::DequeueBufferOutput const&)>)+144) (BuildId: 01f3c265cec1fe408d5ac82856505ba9)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #06 pc 00000000000193d4 /system/lib64/android.hardware.graphics.bufferqueue@2.0.so (android::hardware::graphics::bufferqueue::V2_0::BnHwGraphicBufferProducer::_hidl_dequeueBuffer(android::hidl::base::V1_0::BnHwBase*, android::hardware::Parcel const&, android::hardware::Parcel*, std::__1::function<void (android::hardware::Parcel&)>)+260) (BuildId: 725a7f95aace3da46259dce73fd21781)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #07 pc 000000000001b60c /system/lib64/android.hardware.graphics.bufferqueue@2.0.so (android::hardware::graphics::bufferqueue::V2_0::BnHwGraphicBufferProducer::onTransact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+1644) (BuildId: 725a7f95aace3da46259dce73fd21781)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #08 pc 000000000009cf4c /system/lib64/libhidlbase.so (android::hardware::BHwBinder::transact(unsigned int, android::hardware::Parcel const&, android::hardware::Parcel*, unsigned int, std::__1::function<void (android::hardware::Parcel&)>)+156) (BuildId: 28f75a3c73b24de0080a3f821d252a35)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #09 pc 0000000000082418 /system/lib64/libhidlbase.so (android::hardware::IPCThreadState::executeCommand(int)+808) (BuildId: 28f75a3c73b24de0080a3f821d252a35)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #10 pc 0000000000080f04 /system/lib64/libhidlbase.so (android::hardware::IPCThreadState::joinThreadPool(bool)+420) (BuildId: 28f75a3c73b24de0080a3f821d252a35)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #11 pc 0000000000080d48 /system/lib64/libhidlbase.so (android::hardware::PoolThread::threadLoop()+24) (BuildId: 28f75a3c73b24de0080a3f821d252a35)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #12 pc 00000000000147f0 /system/lib64/libutils.so (android::Thread::_threadLoop(void*)+528) (BuildId: 0b4a793fa8045c04066d988c68bac8bb)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #13 pc 00000000000c8f6c /system/lib64/libandroid_runtime.so (android::AndroidRuntime::javaThreadShell(void*)+140) (BuildId: 566824c15d29a3526126878f744eb73a)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #14 pc 00000000000c15dc /apex/com.android.runtime/lib64/bionic/libc.so (__pthread_start(void*)+204) (BuildId: 1154186c46119a81daca3db1a6b68111)
2022-09-27 13:40:52.722 21791-21791 DEBUG pid-21791 A #15 pc 0000000000054a30 /apex/com.android.runtime/lib64/bionic/libc.so (__start_thread+64) (BuildId: 1154186c46119a81daca3db1a6b68111)
Video showing how to reproduce the issue: device-2022-09-27-134426