ITADN

[Bug]: Crash in RvApplication::newSessionFromFiles while multiple displays are connected.

#1211Openpjurkas 创建于 2026-03-24
bug
P
pjurkascommented
### What happened? Some users are experiencing OpenRV crashing at startup (SIGSEGV) when multiple monitors are connected to theirs' computers. I was trying to reproduce it on my machine, but I was not successfull. It might depend on how the monitors are setup in GNOME config. This is the callstack at the SIGSEGV: ``` #0 0x00007ffff7386230 in QScreen::geometry() const () at /spfs/lib/openrv/lib/libQt5Gui.so.5 #1 0x00000000008cd4a8 in Rv::RvApplication::newSessionFromFiles(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) () #2 0x00000000008cd995 in Rv::RvApplication::runCreateSession() () #3 0x00007ffff6f7924d in ??? () at /spfs/lib/openrv/lib/libQt5Core.so.5 #4 0x00007ffff6f7cf3a in QTimer::timeout(QTimer::QPrivateSignal) () at /spfs/lib/openrv/lib/libQt5Core.so.5 #5 0x00007ffff6f6f61f in QObject::event(QEvent*) () at /spfs/lib/openrv/lib/libQt5Core.so.5 #6 0x00007ffff7a47b6f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /spfs/lib/openrv/lib/libQt5Widgets.so.5 #7 0x00007ffff6f44ef0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /spfs/lib/openrv/lib/libQt5Core.so.5 #8 0x00007ffff6f9837b in QTimerInfoList::activateTimers() () at /spfs/lib/openrv/lib/libQt5Core.so.5 #9 0x00007ffff6f98b54 in ??? () at /spfs/lib/openrv/lib/libQt5Core.so.5 #10 0x00007fffe9119f4f in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #11 0x00007fffe916f268 in g_main_context_iterate.constprop () at /usr/lib64/libglib-2.0.so.0 #12 0x00007fffe9117713 in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #13 0x00007ffff6f98eb4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /spfs/lib/openrv/lib/libQt5Core.so.5 #14 0x00007ffff6f43a6b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /spfs/lib/openrv/lib/libQt5Core.so.5 #15 0x00007ffff6f4b67c in QCoreApplication::exec() () at /spfs/lib/openrv/lib/libQt5Core.so.5 #16 0x00000000008396e5 in utf8Main(int, char**) () #17 0x00007fffeb4295d0 in __libc_start_call_main () at /usr/lib64/libc.so.6 #18 0x00007fffeb429680 in __libc_start_main_impl () at /usr/lib64/libc.so.6 #19 0x0000000000831d25 in _start () ``` Looks like some screen instance is nullptr when calling screen->geometry() inside RvApplication::newSessionFromFiles function. ### List all the operating systems versions where this is happening RHEL 9.5 ### On what computer hardware is this happening? NVIDIA Corporation GA102GL [RTX A6000], Intel(R) Xeon(R) Gold 6226R CPU @ 2.90GHz, 64 cores, 187Gi RAM ### Relevant console log output ```shell #0 0x00007ffff7386230 in QScreen::geometry() const () at /spfs/lib/openrv/lib/libQt5Gui.so.5 #1 0x00000000008cd4a8 in Rv::RvApplication::newSessionFromFiles(std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&) () #2 0x00000000008cd995 in Rv::RvApplication::runCreateSession() () #3 0x00007ffff6f7924d in ??? () at /spfs/lib/openrv/lib/libQt5Core.so.5 #4 0x00007ffff6f7cf3a in QTimer::timeout(QTimer::QPrivateSignal) () at /spfs/lib/openrv/lib/libQt5Core.so.5 #5 0x00007ffff6f6f61f in QObject::event(QEvent*) () at /spfs/lib/openrv/lib/libQt5Core.so.5 #6 0x00007ffff7a47b6f in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /spfs/lib/openrv/lib/libQt5Widgets.so.5 #7 0x00007ffff6f44ef0 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /spfs/lib/openrv/lib/libQt5Core.so.5 #8 0x00007ffff6f9837b in QTimerInfoList::activateTimers() () at /spfs/lib/openrv/lib/libQt5Core.so.5 #9 0x00007ffff6f98b54 in ??? () at /spfs/lib/openrv/lib/libQt5Core.so.5 #10 0x00007fffe9119f4f in g_main_context_dispatch () at /usr/lib64/libglib-2.0.so.0 #11 0x00007fffe916f268 in g_main_context_iterate.constprop () at /usr/lib64/libglib-2.0.so.0 #12 0x00007fffe9117713 in g_main_context_iteration () at /usr/lib64/libglib-2.0.so.0 #13 0x00007ffff6f98eb4 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /spfs/lib/openrv/lib/libQt5Core.so.5 #14 0x00007ffff6f43a6b in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /spfs/lib/openrv/lib/libQt5Core.so.5 #15 0x00007ffff6f4b67c in QCoreApplication::exec() () at /spfs/lib/openrv/lib/libQt5Core.so.5 #16 0x00000000008396e5 in utf8Main(int, char**) () #17 0x00007fffeb4295d0 in __libc_start_call_main () at /usr/lib64/libc.so.6 #18 0x00007fffeb429680 in __libc_start_main_impl () at /usr/lib64/libc.so.6 #19 0x0000000000831d25 in _start () ``` ### Environment variables _No response_ ### Extra information _No response_ ### Code of Conduct - [x] I agree to follow this project's Code of Conduct
1 条评论