Assertion 'this->_M_is_engaged()' failed
I'm running vlc-git (4.0.0-dev-31343-ge009cc4da6) on Arch Linux, built through AUR. On some files I'm getting a core dump:
/usr/include/c++/14.2.1/optional:475: constexpr _Tp& std::_Optional_base_impl<_Tp, _Dp>::_M_get() [with _Tp = long int; _Dp = std::_Optional_base<long int, true, true>]: Assertion 'this->_M_is_engaged()' failed.
Aborted (core dumped)
gdb shows me this:
#0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x0000790ebd099463 in __pthread_kill_internal (threadid=<optimized out>, signo=6) at pthread_kill.c:78
#2 0x0000790ebd040120 in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#3 0x0000790ebd0274c3 in __GI_abort () at abort.c:79
#4 0x0000790eb42d3af0 in std::__glibcxx_assert_fail
(file=file@entry=0x790e834e69b0 "/usr/include/c++/14.2.1/optional", line=line@entry=475, function=function@entry=0x790e834e6928 "constexpr _Tp& std::_Optional_base_impl<_Tp, _Dp>::_M_get() [with _Tp = long int; _Dp = std::_Optional_base<long int, true, true>]", condition=condition@entry=0x790e834e40b3 "this->_M_is_engaged()")
at /usr/src/debug/gcc/gcc/libstdc++-v3/src/c++11/assert_fail.cc:41
#5 0x0000790e834992b5 in std::_Optional_base_impl<long, std::_Optional_base<long, true, true> >::_M_get (this=<optimized out>) at /usr/include/c++/14.2.1/optional:473
#6 std::_Optional_base_impl<long, std::_Optional_base<long, true, true> >::_M_get (this=0x790dfc06a7a0) at /usr/include/c++/14.2.1/optional:473
#7 std::optional<long>::operator*() & (this=0x790dfc06a7a0) at /usr/include/c++/14.2.1/optional:972
#8 mkv::virtual_chapter_c::CreateVirtualChapter
(p_chap=p_chap@entry=0x790dfc06a790, main_segment=..., opened_segments=std::vector of length 1, capacity 1 = {...}, usertime_offset=@0x790e83f7e588: 0, b_ordered=<optimized out>) at demux/mkv/virtual_segment.cpp:90
#9 0x0000790e8349958b in mkv::virtual_edition_c::virtual_edition_c
(this=0x790dfc0a4ca0, p_edit=0x790dfc06a790, main_segment=..., opened_segments=std::vector of length 1, capacity 1 = {...}, this=<optimized out>, p_edit=<optimized out>, main_segment=<optimized out>, opened_segments=<optimized out>) at demux/mkv/virtual_segment.cpp:182
#10 0x0000790e8349c43b in mkv::virtual_segment_c::virtual_segment_c
(this=0x790dfc09b000, main_segment=..., p_opened_segments=std::vector of length 1, capacity 1 = {...}, this=<optimized out>, main_segment=<optimized out>, p_opened_segments=<optimized out>) at demux/mkv/virtual_segment.cpp:281
#11 0x0000790e834cb010 in mkv::demux_sys_t::PreloadLinked (this=0x790dfc0020d0) at /usr/include/c++/14.2.1/bits/stl_vector.h:1130
#12 mkv::OpenInternal (p_demux=0x790dfc009760, trust_cues=<optimized out>) at demux/mkv/mkv.cpp:258
#13 0x0000790ebd24a364 in demux_Probe (func=0x790e834cd410 <mkv::Open(vlc_object_t*)>, forced=true, ap=ap@entry=0x790e83f7e850) at input/demux.c:112
#14 0x0000790ebd22e2f7 in vlc_module_load
(log=<optimized out>, capability=0x790ebd2da0d4 "demux", name=<optimized out>, strict=<optimized out>, probe=0x790ebd24a320 <demux_Probe>) at modules/modules.c:230
#15 0x0000790ebd24aae5 in demux_NewAdvanced
(p_obj=0x790ea4d09e30, p_input=<optimized out>, module=0x790dfc008d30 "ext-mkv", url=<optimized out>, s=<optimized out>, out=0x790dfc0015b8, b_preparsing=false)
at ../include/vlc_objects.h:153
#16 0x0000790ebd26ceba in InputDemuxNew
(p_input=0x790ea4d09e30, p_es_out=0x790dfc0015b8, p_source=<optimized out>, url=0x790dfc001c20 "file:///home/rubin/Videos/Movies/1968%202001%20-%20A%20Space%20Odyssey/2001%20-%20A%20Space%20Odyssey%20(1968)%20V2%20(2160p%20BluRay%20x265%2010bit%20HDR%20Tigole).mkv", psz_demux=0x790dfc001170 "any", psz_anchor=<optimized out>) at input/input.c:2544
#17 InputSourceInit
(in=<optimized out>, p_input=0x790ea4d09e30, psz_mrl=0x790ea4f4e340 "file:///home/rubin/Videos/Movies/1968%202001%20-%20A%20Space%20Odyssey/2001%20-%20A%20Space%20Odyssey%20(1968)%20V2%20(2160p%20BluRay%20x265%2010bit%20HDR%20Tigole).mkv", psz_forced_demux=<optimized out>, b_in_can_fail=false) at input/input.c:2672
#18 0x0000790ebd25c918 in Init (p_input=p_input@entry=0x790ea4d09e30) at input/input.c:1307
#19 0x0000790ebd25f72c in Run (data=0x790ea4d09e30) at input/input.c:394
#20 0x0000790ebd09739d in start_thread (arg=<optimized out>) at pthread_create.c:447
#21 0x0000790ebd11c49c in __GI___clone3 () at ../sysdeps/unix/sysv/linux/x86_64/clone3.S:78
Not sure what's happening here (note: updated with gdb bt
with debuginfo and unstripped binaries).
Edited by Rubin Simons