Sigabrt at startup when changing the presence of a non-removable device
I downloaded the VLC nightly today for MacOS, and I'm getting an Assertion in medialibrary whenever trying to start VLC.
It would appear that it's trying to change the state of a non-removable device object, which points to a file that is no longer present.
(lldb) print device
warning: `this' is not accessible (substituting 0)
(medialibrary::Device) $0 = {
m_ml = 0x00000001005484b0
m_id = 1
m_uuid = "4756020D-8841-44C4-AD9B-23CAD2305F6D"
m_scheme = "file://"
m_isRemovable = false
m_isPresent = true
m_isNetwork = false
}
The nightly build appears to be including tag medialibrary-0.11.1.
Here's the thread dump:
'/Users/dheitmueller/vlc-osx/build/bin/vlc-osx-static' (x86_64)
VLC media player 4.0.0-dev Otto Chriek (revision 4333661cdf)
2022-04-01 11:56:51.606244-0400 vlc-osx-static[43873:16208704] [plugin] AddInstanceForFactory: No factory registered for id <CFUUID 0x10054a980> F8BB1C28-BAE8-11D6-9C31-00039315CD46
2022-04-01 11:56:51.653473-0400 vlc-osx-static[43873:16208704] HALC_ShellDriverPlugIn::Open: Can't get a pointer to the Open routine
[000000010041f990] main libvlc: Running vlc with the default interface. Use 'cvlc' to use vlc without interface.
Assertion failed: (!"Can't change the presence of a non-removable device"), function setPresent, file ../src/Device.cpp, line 95.
Process 43873 stopped
* thread #13, queue = 'com.apple.root.user-interactive-qos', stop reason = signal SIGABRT
frame #0: 0x00007fff725c433a libsystem_kernel.dylib`__pthread_kill + 10
libsystem_kernel.dylib`__pthread_kill:
-> 0x7fff725c433a <+10>: jae 0x7fff725c4344 ; <+20>
0x7fff725c433c <+12>: movq %rax, %rdi
0x7fff725c433f <+15>: jmp 0x7fff725be629 ; cerror_nocancel
0x7fff725c4344 <+20>: retq
Target 0: (vlc-osx-static) stopped.
(lldb) bt
* thread #13, queue = 'com.apple.root.user-interactive-qos', stop reason = signal SIGABRT
* frame #0: 0x00007fff725c433a libsystem_kernel.dylib`__pthread_kill + 10
frame #1: 0x00007fff72680e60 libsystem_pthread.dylib`pthread_kill + 430
frame #2: 0x00007fff7254b808 libsystem_c.dylib`abort + 120
frame #3: 0x00007fff7254aac6 libsystem_c.dylib`__assert_rtn + 314
frame #4: 0x00000001095d9191 libmedialibrary_plugin.dylib`medialibrary::Device::setPresent(bool) (.cold.1) + 33
frame #5: 0x0000000109311b21 libmedialibrary_plugin.dylib`medialibrary::Device::setPresent(this=0x0000000000000000, value=<unavailable>) at Device.cpp:95:9 [opt]
frame #6: 0x00000001093fefdc libmedialibrary_plugin.dylib`medialibrary::FsHolder::refreshDevice(this=<unavailable>, device=0x000000010395dc98, fsFactory=<unavailable>) at FsHolder.cpp:254:16 [opt]
frame #7: 0x00000001093ff266 libmedialibrary_plugin.dylib`medialibrary::FsHolder::startFsFactoriesAndRefresh(this=0x00000001005485c0) at FsHolder.cpp:200:9 [opt]
frame #8: 0x000000010941b158 libmedialibrary_plugin.dylib`medialibrary::parser::Parser::start(this=0x00000001005486c0) at Parser.cpp:86:17 [opt]
frame #9: 0x0000000109377759 libmedialibrary_plugin.dylib`medialibrary::MediaLibrary::initialize(this=0x00000001005484b0, mlCallback=<unavailable>) at MediaLibrary.cpp:735:17 [opt]
frame #10: 0x0000000109294146 libmedialibrary_plugin.dylib`MediaLibrary::Init(this=0x0000000100548410) at medialibrary.cpp:444:29
frame #11: 0x00000001092982ba libmedialibrary_plugin.dylib`MediaLibrary::List(this=0x0000000100548410, listQuery=1, params=0x000000010f1a5d50, args=0x0000700004908e40) at medialibrary.cpp:728:10
frame #12: 0x00000001092a8e47 libmedialibrary_plugin.dylib`List(module=0x0000000100547ef0, query=1, params=0x000000010f1a5d50, args=0x0000700004908e40) at medialibrary.cpp:2080:16
frame #13: 0x00000001002444a4 libvlccore.dylib`vlc_ml_list(p_ml=0x0000000100547ef0, i_query=1, p_params=0x000000010f1a5d50) at medialibrary.c:436:17
frame #14: 0x000000010f02cba8 libmacosx_plugin.dylib`vlc_ml_count_video_media(p_ml=0x0000000100547ef0, params=0x000000010f1a5d50) at vlc_media_library.h:1435:10
frame #15: 0x000000010f02cb4e libmacosx_plugin.dylib`__35-[VLCLibraryModel initWithLibrary:]_block_invoke(.block_descriptor=0x0000000100462c20) at VLCLibraryModel.m:114:40
frame #16: 0x00007fff724226c4 libdispatch.dylib`_dispatch_call_block_and_release + 12
frame #17: 0x00007fff72423658 libdispatch.dylib`_dispatch_client_callout + 8
frame #18: 0x00007fff72431aa8 libdispatch.dylib`_dispatch_root_queue_drain + 663
frame #19: 0x00007fff72432097 libdispatch.dylib`_dispatch_worker_thread2 + 92
frame #20: 0x00007fff7267d9f7 libsystem_pthread.dylib`_pthread_wqthread + 220
frame #21: 0x00007fff7267cb77 libsystem_pthread.dylib`start_wqthread + 15
I'm happy to provide more info if needed; I don't really have much familiarity with medialibrary and thus am not really in a great position to debug this myself.