[The Roleplaying Mod] Overridden intro video hangs game
Arch Linux, built from d15be7a6
The Roleplaying Mod overrides the mw_intro.bik, and my version of OpenMW hangs when trying to play/load that video. Removing the override allows a new game to load.
I see the following backtrace in gdb:
(gdb) bt
#0 0x00007ffff12319ba in read () at /usr/lib/libc.so.6
#1 0x00005555581235bd in Platform::File::read (handle=86, data=0x5555621426b8, size=0)
at /home/daniel/openmw/components/platform/file.posix.cpp:97
#2 0x0000555557f59858 in Files::ConstrainedFileStreamBuf::underflow (this=0x555562142660)
at /home/daniel/openmw/components/files/constrainedfilestreambuf.cpp:31
#3 0x00007ffff155fe05 in std::basic_streambuf<char, std::char_traits<char> >::uflow (this=<optimized out>)/components.dir/esm3/loadweap.cpp.o
at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/streambuf:710
#4 std::basic_streambuf<char, std::char_traits<char> >::xsgetn (this=0x555562142660, __s=<optimized out>, __n=1772)/components.dir/esm3/spelllist.cpp.o
at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/streambuf.tcc:64/components.dir/esm3/variantimp.cpp.o
#5 0x00007ffff152fc92 in std::basic_streambuf<char, std::char_traits<char> >::sgetn
(this=<optimized out>, __s=0x5555621011d4 "\005\202ɟHt\334W\311\320҃\004\032\030\032\207 lJ\023", __n=1772)/components.dir/esm3/filter.cpp.o
at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/streambuf:364
#6 std::basic_istream<char, std::char_traits<char> >::read
(this=0x5555620688f0, __s=0x5555621011d4 "\005\202ɟHt\334W\311\320҃\004\032\030\032\207 lJ\023", __n=1772)/components.dir/esm3/locals.cpp.o
at /usr/src/debug/gcc/gcc-build/x86_64-pc-linux-gnu/libstdc++-v3/include/bits/istream.tcc:711
#7 0x0000555557834486 in Video::VideoState::istream_read
(user_data=0x555562100b40, buf=0x5555621011d4 "\005\202ɟHt\334W\311\320҃\004\032\030\032\207 lJ\023", buf_size=1772)
at /home/daniel/openmw/extern/osg-ffmpeg-videoplayer/videostate.cpp:237
#8 0x00007ffff5a45d1d in avio_read () at /usr/lib/libavformat.so.60
#9 0x00007ffff5a82d33 in av_probe_input_buffer2 () at /usr/lib/libavformat.so.60
#10 0x00007ffff5a62a1f in avformat_open_input () at /usr/lib/libavformat.so.60
#11 0x0000555557835723 in Video::VideoState::init (this=0x555562100b40, inputstream=..., name="video\\mw_intro.bik")
at /home/daniel/openmw/extern/osg-ffmpeg-videoplayer/videostate.cpp:753
#12 0x00005555578330b3 in Video::VideoPlayer::playVideo (this=0x55555e65fa40, inputstream=..., name="video\\mw_intro.bik")
at /home/daniel/openmw/extern/osg-ffmpeg-videoplayer/videoplayer.cpp:38
#13 0x0000555555bcb04a in MWGui::VideoWidget::playVideo (this=0x55555e65da50, video="video\\mw_intro.bik")
at /home/daniel/openmw/apps/openmw/mwgui/videowidget.cpp:47
#14 0x00005555559a94a6 in MWGui::WindowManager::playVideo (this=0x55555e502410, name="mw_intro.bik", allowSkipping=true, overrideSounds=true)
at /home/daniel/openmw/apps/openmw/mwgui/windowmanagerimp.cpp:1860
#15 0x00005555572e7374 in MWWorld::World::startNewGame (this=0x55555ea752b0, bypass=false)
at /home/daniel/openmw/apps/openmw/mwworld/worldimp.cpp:399
#16 0x00005555577ef756 in MWState::StateManager::newGame (this=0x555559bb5f20, bypass=false)
at /home/daniel/openmw/apps/openmw/mwstate/statemanagerimp.cpp:178
#17 0x0000555555b18ce7 in MWGui::MainMenu::onNewGameConfirmed (this=0x55555ec92fd0) at /home/daniel/openmw/apps/openmw/mwgui/mainmenu.cpp:85
#18 0x0000555555b190e5 in MWGui::MainMenu::onButtonClicked (this=0x55555ec92fd0, sender=0x55555ecb0240)
at /home/daniel/openmw/apps/openmw/mwgui/mainmenu.cpp:125
#19 0x0000555555b1b6e4 in MyGUI::newDelegate<MWGui::MainMenu, MyGUI::Widget*>(MWGui::MainMenu*
, void (MWGui::MainMenu::*)(MyGUI::Widget*))::{lambda(MyGUI::Widget*&&)#1}::operator()(MyGUI::Widget*&&) const (__closure=0x55555ecb11b0, args#0=@0x7fffffffd340: 0x55555ecb0240)
at /usr/include/MYGUI/MyGUI_Delegate.h:110
#20 0x0000555555b1ed5d in std::__invoke_impl<void, MyGUI::newDelegate<MWGui::MainMenu, MyGUI::Widget*>(MWGui::MainMenu*, void (MWGui::MainMenu::*)(MyGUI::Widget*))::{lambda(MyGUI::Widget*&&)#1}&, MyGUI::Widget*>(std::__invoke_other, MyGUI::newDelegate<MWGui::MainMenu, MyGUI::Widget*>(MWGui::MainMenu*, void (MWGui::MainMenu::*)(MyGUI::Widget*))::{lambda(MyGUI::Widget*&&)#1}&, MyGUI::Widget*&&) (__f=...)omponents.dir/esm4/loadacti.cpp.o
at /usr/include/c++/14.1.1/bits/invoke.h:61
#21 0x0000555555b1e511 in std::__invoke_r<void, MyGUI::newDelegate<MWGui::MainMenu, MyGUI::Widget*>(MWGui::MainMenu*, void (MWGui::MainMenu::*)(MyGUI::Widget*))::{lambda(MyGUI::Widget*&&)#1}&, MyGUI::Widget*>(MyGUI::newDelegate<MWGui::MainMenu, MyGUI::Widget*>(MWGui::MainMenu*, void (MWGui::MainMenu::*)(MyGUI::Widget*))::{lambda(MyGUI::Widget*&&)#1}&, MyGUI::Widget*&&) (__fn=...)omponents.dir/esm4/loadarma.cpp.o
at /usr/include/c++/14.1.1/bits/invoke.h:111
#22 0x0000555555b1d98b in std::_Function_handler<void (MyGUI::Widget*), MyGUI::newDelegate<MWGui::MainMenu, MyGUI::Widget*>(MWGui::MainMenu*, void (MWGui::MainMenu::*)(MyGUI::Widget*))::{lambda(MyGUI::Widget*&&)#1}>::_M_invoke(std::_Any_data const&, MyGUI::Widget*&&)
(__functor=..., __args#0=@0x7fffffffd340: 0x55555ecb0240) at /usr/include/c++/14.1.1/bits/std_function.h:290/components.dir/esm4/loadclas.cpp.o
#23 0x0000555555bf2e8b in std::function<void (MyGUI::Widget*)>::operator()(MyGUI::Widget*) const/components.dir/esm4/loadclot.cpp.o
(this=0x55555ecb1130, __args#0=0x55555ecb0240) at /usr/include/c++/14.1.1/bits/std_function.h:591/components.dir/esm4/loadcrea.cpp.o
#24 0x0000555555bf2521 in MyGUI::delegates::DelegateFunction<MyGUI::Widget*>::invoke (this=0x55555ecb1130, args#0=0x55555ecb0240)/components.dir/esm4/loaddobj.cpp.o
at /usr/include/MYGUI/MyGUI_Delegate.h:73
#25 0x0000555555bf1fe3 in MyGUI::delegates::MultiDelegate<MyGUI::Widget*>::operator() (this=0x55555ecb03b8, args#0=0x55555ecb0240)/components.dir/esm4/loadflor.cpp.o
at /usr/include/MYGUI/MyGUI_Delegate.h:268
#26 0x0000555555bf1b1d in MWGui::KeyboardNavigation::accept (this=0x55555e51fd00)
at /home/daniel/openmw/apps/openmw/mwgui/keyboardnavigation.cpp:299
#27 0x0000555555bf132e in MWGui::KeyboardNavigation::injectKeyPress (this=0x55555e51fd00, key=..., text=0, repeat=false)/components.dir/esm4/loadgras.cpp.o
at /home/daniel/openmw/apps/openmw/mwgui/keyboardnavigation.cpp:199
#28 0x00005555559ab874 in MWGui::WindowManager::injectKeyPress (this=0x55555e502410, key=..., text=0, repeat=false)/components.dir/esm4/loadidle.cpp.o
at /home/daniel/openmw/apps/openmw/mwgui/windowmanagerimp.cpp:2312
#29 0x0000555555939d5e in MWInput::KeyboardManager::keyPressed (this=0x55555e7b1220, arg=...)
at /home/daniel/openmw/apps/openmw/mwinput/keyboardmanager.cpp:49
#30 0x000055555801362c in SDLUtil::InputWrapper::capture (this=0x55555e6620f0, windowEventsOnly=false)/components.dir/esm4/loadkeym.cpp.o
at /home/daniel/openmw/components/sdlutil/sdlinputwrapper.cpp:108
#31 0x0000555555934f68 in MWInput::InputManager::update (this=0x55555e662090, dt=0.00333333295, disableControls=false, disableEvents=false)/components.dir/esm4/loadligh.cpp.o
at /home/daniel/openmw/apps/openmw/mwinput/inputmanagerimp.cpp:66
#32 0x0000555557804a6b in OMW::Engine::frame (this=0x555559ad4b30, frameNumber=1925, frametime=0.00333333295)/components.dir/esm4/loadlvli.cpp.o
at /home/daniel/openmw/apps/openmw/engine.cpp:205
#33 0x000055555780b5ca in OMW::Engine::go (this=0x555559ad4b30) at /home/daniel/openmw/apps/openmw/engine.cpp:1034/components.dir/esm4/loadmisc.cpp.o
#34 0x00005555577ff86d in runApplication (argc=1, argv=0x7fffffffdff8) at /home/daniel/openmw/apps/openmw/main.cpp:236/components.dir/esm4/loadmstt.cpp.o
#35 0x0000555557f2a676 in wrapApplication
(innerApplication=0x5555577ff76f <runApplication(int, char**)>, argc=1, argv=0x7fffffffdff8, appName="OpenMW")/components.dir/esm4/loadnavm.cpp.o
at /home/daniel/openmw/components/debug/debugging.cpp:459
#36 0x00005555577ff98a in main (argc=1, argv=0x7fffffffdff8) at /home/daniel/openmw/apps/openmw/main.cpp:248```