https://bugs.kde.org/show_bug.cgi?id=523779
Bug ID: 523779
Summary: krfb-virtualmonitor crashes if a display is disabled
after a virtual monitor is created
Classification: Applications
Product: krfb
Version First git master
Reported In:
Platform: Arch Linux
OS: Linux
Status: REPORTED
Severity: normal
Priority: NOR
Component: krfb-virtualmonitor
Assignee: [email protected]
Reporter: [email protected]
Target Milestone: ---
DESCRIPTION
Demonstrative video: https://youtu.be/T6f6BxwpEuM
krfb-virtualmonitor crashes if a display is disabled after its creation
STEPS TO REPRODUCE
1. Create a virtual monitor
2. Disable a display in kcm_kscreen
OBSERVED RESULT
Crash
EXPECTED RESULT
No crash
SOFTWARE/OS VERSIONS
Operating System: Arch Linux
KDE Plasma Version: 6.7.80
KDE Frameworks Version: 6.29.0
Qt Version: 6.11.1
Kernel Version: 7.1.5-arch1-2 (64-bit)
Graphics Platform: Wayland
Processors: 12 × AMD Ryzen 5 2600 Six-Core Processor
Memory: 64 GiB of RAM (62.7 GiB usable)
Graphics Processor: AMD Radeon RX 5700
BACKTRACE
#0 __pthread_kill_implementation (threadid=<optimized out>,
signo=signo@entry=11, no_tid=no_tid@entry=0) at pthread_kill.c:44
#1 0x00007f595b49a0e3 in __pthread_kill_internal (threadid=<optimized out>,
signo=11) at pthread_kill.c:89
#2 0x00007f595b43e5d0 in __GI_raise (sig=11) at ../sysdeps/posix/raise.c:26
#3 0x00007f595e71bb42 in KCrash::defaultCrashHandler (sig=11) at
/home/managor/kde/src/kcrash/src/kcrash.cpp:653
#4 0x00007f595b43e6f0 in <signal handler called> () at /usr/lib/libc.so.6
#5 get_next_argument (signature=0x0, details=<optimized out>) at
../wayland-1.25.0/src/connection.c:643
#6 wl_argument_from_va_list (signature=<optimized out>,
args=args@entry=0x7ffee2fb0fc0, ap=ap@entry=0x7ffee2fb0fa0, count=20)
at ../wayland-1.25.0/src/connection.c:706
#7 0x00007f59579493e1 in wl_proxy_marshal_flags (proxy=0x55e572238060,
opcode=2, interface=0x0, version=2, flags=0)
at ../wayland-1.25.0/src/wayland-client.c:866
#8 0x00007f594dd96e27 in wl_fixes_ack_global_remove (wl_fixes=0x55e572238060,
registry=0x55e5721e3a10, name=122)
at /home/managor/kde/usr/include/wayland-client-protocol.h:6799
#9 KWayland::Client::Registry::Private::handleRemove (this=0x55e5721e34e0,
name=122) at /home/managor/kde/src/kwayland/src/client/registry.cpp:535
#10 0x00007f595a155cd6 in ffi_call_unix64 () at ../src/x86/unix64.S:105
#11 0x00007f595a1519ad in ffi_call_int
(cif=<optimized out>, fn=<optimized out>, rvalue=<optimized out>,
avalue=<optimized out>, closure=closure@entry=0x0) at ../src/x86/ffi64.c:734
#12 0x00007f595a154d52 in ffi_call (cif=cif@entry=0x7ffee2fb1360, fn=<optimized
out>, rvalue=rvalue@entry=0x0, avalue=<optimized out>,
avalue@entry=0x7ffee2fb1430) at ../src/x86/ffi64.c:1113
#13 0x00007f595794677d in wl_closure_invoke
(closure=closure@entry=0x7f5948001bd0, target=<optimized out>,
target@entry=0x55e5721e3a10, opcode=opcode@entry=1, data=<optimized out>,
flags=1) at ../wayland-1.25.0/src/connection.c:1243
#14 0x00007f5957947609 in dispatch_event (display=display@entry=0x55e572050370,
queue=queue@entry=0x55e572050468)
at ../wayland-1.25.0/src/wayland-client.c:1731
#15 0x00007f5957947a13 in dispatch_queue (display=0x55e572050370,
queue=0x55e572050468) at ../wayland-1.25.0/src/wayland-client.c:1877
#16 wl_display_dispatch_queue_pending (display=0x55e572050370,
queue=0x55e572050468) at ../wayland-1.25.0/src/wayland-client.c:2242
#17 0x00007f5957155526 in QtWaylandClient::QWaylandDisplay::flushRequests
(this=<optimized out>)
at
/usr/src/debug/qt6-base/qtbase/src/plugins/platforms/wayland/qwaylanddisplay.cpp:231
#18 0x00007f595bde7d46 in QObject::event (this=<optimized out>, e=<optimized
out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qobject.cpp:1479
#19 0x00007f595df0411f in QApplicationPrivate::notify_helper (this=<optimized
out>, receiver=0x55e57204fa50, e=0x7f5948001db0)
at /usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:3276
#20 0x00007f595bd83658 in QCoreApplication::notifyInternal2
(receiver=0x55e57204fa50, event=event@entry=0x7f5948001db0)
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1114
#21 0x00007f595bd83a61 in QCoreApplication::sendEvent (receiver=<optimized
out>, event=0x7f5948001db0)
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1559
#22 QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0,
data=0x55e572048db0)
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1914
#23 0x00007f595c09fc98 in QCoreApplication::sendPostedEvents (receiver=0x0,
event_type=0)
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1767
#24 postEventSourceDispatch (s=0x55e57204b540) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:248
#25 0x00007f595aafbc76 in g_main_dispatch (context=0x7f5950000f00) at
../glib/glib/gmain.c:3591
#26 0x00007f595aafded7 in g_main_context_dispatch_unlocked
(context=0x7f5950000f00) at ../glib/glib/gmain.c:4451
#27 g_main_context_iterate_unlocked (context=context@entry=0x7f5950000f00,
block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>)
at ../glib/glib/gmain.c:4516
#28 0x00007f595aafe055 in g_main_context_iteration (context=0x7f5950000f00,
may_block=1) at ../glib/glib/gmain.c:4582
#29 0x00007f595c09d0b2 in QEventDispatcherGlib::processEvents
(this=0x55e572037e90, flags=...)
at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:402
#30 0x00007f595bd91983 in QEventLoop::processEvents (this=0x7ffee2fb1a80,
flags=...)
at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:109
#31 QEventLoop::exec (this=0x7ffee2fb1a80, flags=...) at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:198
#32 0x00007f595bd86eaa in QCoreApplication::exec () at
/usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qcoreapplication.cpp:1457
#33 0x00007f595df0033a in QApplication::exec () at
/usr/src/debug/qt6-base/qtbase/src/widgets/kernel/qapplication.cpp:2546
#34 0x000055e53e29d5a4 in main (argc=<optimized out>, argv=<optimized out>) at
/home/managor/kde/src/krfb/krfb/main-virtualmonitor.cpp:188
--
You are receiving this mail because:
You are watching all bug changes.