Bug 496218

Summary: xembedsniproxy crashes in QXcbScreen::setMonitor
Product: [Plasma] plasmashell Reporter: Jared Adams <jaxad0127>
Component: XembedSNIProxyAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED UPSTREAM    
Severity: crash CC: julien.dlq, kde, materka, nate, nicolas.fella
Priority: HI Keywords: drkonqi
Version: 6.2.3   
Target Milestone: 1.0   
Platform: unspecified   
OS: Linux   
Latest Commit: Version Fixed In: Qt 6.8.2
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/93725/events/db14b32dbb8a45749a401e3de40ba002/

Description Jared Adams 2024-11-13 13:51:39 UTC
Application: xembedsniproxy (6.2.3)

ApplicationNotResponding [ANR]: false
Qt Version: 6.8.0
Frameworks Version: 6.7.0
Operating System: Linux 6.11.6-2-cachyos x86_64
Windowing System: X11
Distribution: CachyOS
DrKonqi: 6.2.3 [CoredumpBackend]

-- Information about the crash:
Process crashed either when displays went to sleep or when they woke up. I use Turn Off Screen to avoid issues with sleep. This is the first time I remember this component crashing.

The crash does not seem to be reproducible.

-- Backtrace:
Application: xembedsniproxy (xembedsniproxy), signal: Segmentation fault

[New LWP 11090]
[New LWP 11123]
[New LWP 11122]
[New LWP 11121]
[New LWP 11120]
[New LWP 11098]
[New LWP 11099]
[New LWP 11125]
[New LWP 11124]
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
Core was generated by `/usr/bin/xembedsniproxy'.
Program terminated with signal SIGSEGV, Segmentation fault.
#0  __pthread_kill_implementation (threadid=<optimized out>, signo=11, no_tid=0) at pthread_kill.c:44
44	      return INTERNAL_SYSCALL_ERROR_P (ret) ? INTERNAL_SYSCALL_ERRNO (ret) : 0;
[Current thread is 1 (Thread 0x784d009ba980 (LWP 11090))]
Cannot QML trace cores :(
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:516: DeprecationWarning: datetime.datetime.utcfromtimestamp() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.fromtimestamp(timestamp, datetime.UTC).
  boot_time = datetime.utcfromtimestamp(psutil.boot_time()).strftime('%Y-%m-%dT%H:%M:%S')
/usr/share/drkonqi/gdb/python/gdb_preamble/preamble.py:533: DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC).
  'timestamp': datetime.utcnow().isoformat(),
[Current thread is 1 (Thread 0x784d009ba980 (LWP 11090))]

Thread 9 (Thread 0x784ce3fff6c0 (LWP 11124)):
#0  0x0000784d0109c6af in __futex_abstimed_wait_common64 (private=0, futex_word=0x5a59d58f4eb8, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=0x5a59d58f4eb8, expected=0, clockid=0, abstime=0x0, private=0, cancel=true) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5a59d58f4eb8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x0000784d0109f216 in __pthread_cond_wait_common (cond=0x5a59d58f4e90, mutex=0x5a59d58f4e60, clockid=0, abstime=0x0) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5a59d58f4e90, mutex=0x5a59d58f4e60) at pthread_cond_wait.c:618
#5  0x0000784cf543cb2e in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#6  0x0000784cf53deddc in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#7  0x0000784cf543ca5c in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#8  0x0000784d010a0386 in start_thread (arg=<optimized out>) at pthread_create.c:447
#9  0x0000784d01121b0c in __clone3 () from /usr/lib/libc.so.6

Thread 8 (Thread 0x784ce37fe6c0 (LWP 11125)):
#0  0x0000784d0109c6af in __futex_abstimed_wait_common64 (private=0, futex_word=0x5a59d59489f8, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=0x5a59d59489f8, expected=0, clockid=0, abstime=0x0, private=0, cancel=true) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5a59d59489f8, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x0000784d0109f216 in __pthread_cond_wait_common (cond=0x5a59d59489d0, mutex=0x5a59d59489a0, clockid=0, abstime=0x0) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5a59d59489d0, mutex=0x5a59d59489a0) at pthread_cond_wait.c:618
#5  0x0000784cf543cb2e in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#6  0x0000784cf53deddc in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#7  0x0000784cf543ca5c in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#8  0x0000784d010a0386 in start_thread (arg=<optimized out>) at pthread_create.c:447
#9  0x0000784d01121b0c in __clone3 () from /usr/lib/libc.so.6

Thread 7 (Thread 0x784cfd5fe6c0 (LWP 11099)):
#0  0x0000784d0111427f in __GI___poll (fds=0x784cfd5fdad8, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29
#1  0x0000784d02a023b3 in poll () at /usr/include/bits/poll2.h:39
#2  _xcb_conn_wait () at /usr/src/debug/libxcb/libxcb-1.17.0/src/xcb_conn.c:510
#3  0x0000784d02a0472d in _xcb_conn_wait () at /usr/src/debug/libxcb/libxcb-1.17.0/src/xcb_conn.c:476
#4  xcb_wait_for_event () at /usr/src/debug/libxcb/libxcb-1.17.0/src/xcb_in.c:703
#5  0x0000784d0002a7a9 in QXcbEventQueue::run (this=0x5a59d57561e0) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/qxcbeventqueue.cpp:192
#6  0x0000784d018e67ca in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:335
#7  (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:263
#8  QThreadPrivate::start (arg=0x5a59d57561e0) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:294
#9  0x0000784d010a0386 in start_thread (arg=<optimized out>) at pthread_create.c:447
#10 0x0000784d01121b0c in __clone3 () from /usr/lib/libc.so.6

Thread 6 (Thread 0x784cfddff6c0 (LWP 11098)):
#0  0x0000784d011147f6 in __GI_ppoll (fds=fds@entry=0x5a59d57601d0, nfds=nfds@entry=3, timeout=<optimized out>, timeout@entry=0x0, sigmask=sigmask@entry=0x0) at ../sysdeps/unix/sysv/linux/ppoll.c:42
#1  0x0000784d00f6df89 in ppoll (__fds=0x5a59d57601d0, __nfds=3, __timeout=0x0, __ss=0x0) at /usr/include/bits/poll2.h:101
#2  g_main_context_poll_unlocked (priority=<optimized out>, context=0x784cf8000cb0, timeout_usec=<optimized out>, fds=0x5a59d57601d0, n_fds=3) at ../glib/glib/gmain.c:4591
#3  g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x784cf8000cb0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4268
#4  0x0000784d00efc112 in g_main_context_iteration (context=0x784cf8000cb0, may_block=1) at ../glib/glib/gmain.c:4338
#5  0x0000784d019d78ec in QEventDispatcherGlib::processEvents (this=0x784cf8000ba0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:396
#6  0x0000784d01769e95 in QEventLoop::processEvents (this=0x784cfddfeb80, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100
#7  QEventLoop::exec (this=0x784cfddfeb80, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:191
#8  0x0000784d01861982 in QThread::exec (this=this@entry=0x784d028e0b20 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#9  0x0000784d02853e3f in QDBusConnectionManager::run (this=0x784d028e0b20 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-base/qtbase/src/dbus/qdbusconnectionmanager.cpp:144
#10 0x0000784d018e67ca in operator() (__closure=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:335
#11 (anonymous namespace)::terminate_on_exception<QThreadPrivate::start(void*)::<lambda()> > (t=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:263
#12 QThreadPrivate::start (arg=0x784d028e0b20 <QGlobalStatic<QtGlobalStatic::Holder<(anonymous namespace)::Q_QGS__q_manager> >::instance()::holder>) at /usr/src/debug/qt6-base/qtbase/src/corelib/thread/qthread_unix.cpp:294
#13 0x0000784d010a0386 in start_thread (arg=<optimized out>) at pthread_create.c:447
#14 0x0000784d01121b0c in __clone3 () from /usr/lib/libc.so.6

Thread 5 (Thread 0x784cfcabb6c0 (LWP 11120)):
#0  0x0000784d0109c6af in __futex_abstimed_wait_common64 (private=0, futex_word=0x5a59d58609dc, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=0x5a59d58609dc, expected=0, clockid=0, abstime=0x0, private=0, cancel=true) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5a59d58609dc, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x0000784d0109f216 in __pthread_cond_wait_common (cond=0x5a59d58609b0, mutex=0x5a59d5860980, clockid=0, abstime=0x0) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5a59d58609b0, mutex=0x5a59d5860980) at pthread_cond_wait.c:618
#5  0x0000784cf543cb2e in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#6  0x0000784cf53deddc in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#7  0x0000784cf543ca5c in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#8  0x0000784d010a0386 in start_thread (arg=<optimized out>) at pthread_create.c:447
#9  0x0000784d01121b0c in __clone3 () from /usr/lib/libc.so.6

Thread 4 (Thread 0x784cf51ff6c0 (LWP 11121)):
#0  0x0000784d0109c6af in __futex_abstimed_wait_common64 (private=0, futex_word=0x5a59d58acf18, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=0x5a59d58acf18, expected=0, clockid=0, abstime=0x0, private=0, cancel=true) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5a59d58acf18, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x0000784d0109f216 in __pthread_cond_wait_common (cond=0x5a59d58acef0, mutex=0x5a59d58acec0, clockid=0, abstime=0x0) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5a59d58acef0, mutex=0x5a59d58acec0) at pthread_cond_wait.c:618
#5  0x0000784cf543cb2e in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#6  0x0000784cf53deddc in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#7  0x0000784cf543ca5c in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#8  0x0000784d010a0386 in start_thread (arg=<optimized out>) at pthread_create.c:447
#9  0x0000784d01121b0c in __clone3 () from /usr/lib/libc.so.6

Thread 3 (Thread 0x784cf49fe6c0 (LWP 11122)):
#0  0x0000784d0109c6af in __futex_abstimed_wait_common64 (private=0, futex_word=0x5a59d5861a64, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=0x5a59d5861a64, expected=0, clockid=0, abstime=0x0, private=0, cancel=true) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5a59d5861a64, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x0000784d0109f216 in __pthread_cond_wait_common (cond=0x5a59d5861a38, mutex=0x5a59d5861a08, clockid=0, abstime=0x0) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5a59d5861a38, mutex=0x5a59d5861a08) at pthread_cond_wait.c:618
#5  0x0000784cf543cb2e in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#6  0x0000784cf53deddc in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#7  0x0000784cf543ca5c in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#8  0x0000784d010a0386 in start_thread (arg=<optimized out>) at pthread_create.c:447
#9  0x0000784d01121b0c in __clone3 () from /usr/lib/libc.so.6

Thread 2 (Thread 0x784ce8dff6c0 (LWP 11123)):
#0  0x0000784d0109c6af in __futex_abstimed_wait_common64 (private=0, futex_word=0x5a59d5861c10, expected=0, op=393, abstime=0x0, cancel=true) at futex-internal.c:57
#1  __futex_abstimed_wait_common (futex_word=0x5a59d5861c10, expected=0, clockid=0, abstime=0x0, private=0, cancel=true) at futex-internal.c:87
#2  __GI___futex_abstimed_wait_cancelable64 (futex_word=futex_word@entry=0x5a59d5861c10, expected=expected@entry=0, clockid=clockid@entry=0, abstime=abstime@entry=0x0, private=private@entry=0) at futex-internal.c:139
#3  0x0000784d0109f216 in __pthread_cond_wait_common (cond=0x5a59d5861be8, mutex=0x5a59d5861bb8, clockid=0, abstime=0x0) at pthread_cond_wait.c:503
#4  ___pthread_cond_wait (cond=0x5a59d5861be8, mutex=0x5a59d5861bb8) at pthread_cond_wait.c:618
#5  0x0000784cf543cb2e in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#6  0x0000784cf53deddc in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#7  0x0000784cf543ca5c in ?? () from /usr/lib/libgallium-24.2.6-cachyos1.3.so
#8  0x0000784d010a0386 in start_thread (arg=<optimized out>) at pthread_create.c:447
#9  0x0000784d01121b0c in __clone3 () from /usr/lib/libc.so.6

Thread 1 (Thread 0x784d009ba980 (LWP 11090)):
[KCrash Handler]
#6  QXcbScreen::setMonitor (this=0x5a59d5755e10, monitorInfo=<optimized out>, timestamp=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/qxcbscreen.cpp:657
#7  0x0000784d00015763 in QXcbConnection::updateScreen_monitor (this=this@entry=0x5a59d57670c0, screen=screen@entry=0x5a59d5755e10, monitorInfo=monitorInfo@entry=0x784cf0006af0, timestamp=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/qxcbconnection_screens.cpp:251
#8  0x0000784d000180aa in QXcbConnection::initializeScreensFromMonitor (this=this@entry=0x5a59d57670c0, it=it@entry=0x7fffff031050, xcbScreenNumber=xcbScreenNumber@entry=0, primaryScreen=primaryScreen@entry=0x7fffff031030, initialized=initialized@entry=true) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/qxcbconnection_screens.cpp:519
#9  0x0000784d00018ab0 in QXcbConnection::initializeScreens (this=0x5a59d57670c0, initialized=true) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/qxcbconnection_screens.cpp:317
#10 0x0000784d0000cf4c in QXcbConnection::handleXcbEvent (this=0x5a59d57670c0, event=0x784cf0001ee0) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:590
#11 0x0000784d00013b4b in QXcbConnection::processXcbEvents (this=0x5a59d57670c0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/qxcbconnection.cpp:1087
#12 0x0000784d0002d657 in xcbSourceDispatch (source=<optimized out>) at /usr/src/debug/qt6-base/qtbase/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:55
#13 0x0000784d00efa52a in g_main_dispatch (context=0x784cf8000f30) at ../glib/glib/gmain.c:3357
#14 0x0000784d00f6df30 in g_main_context_dispatch_unlocked (context=0x784cf8000f30) at ../glib/glib/gmain.c:4208
#15 g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x784cf8000f30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/glib/gmain.c:4273
#16 0x0000784d00efc112 in g_main_context_iteration (context=0x784cf8000f30, may_block=1) at ../glib/glib/gmain.c:4338
#17 0x0000784d019d78ec in QEventDispatcherGlib::processEvents (this=0x5a59d57a3030, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventdispatcher_glib.cpp:396
#18 0x0000784d01769e95 in QEventLoop::processEvents (this=0x7fffff0314f0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:100
#19 QEventLoop::exec (this=0x7fffff0314f0, flags=...) at /usr/src/debug/qt6-base/qtbase/src/corelib/kernel/qeventloop.cpp:191
#20 0x0000784d0175fb5b in QCoreApplication::exec () at /usr/src/debug/qt6-base/qtbase/src/corelib/global/qflags.h:74
#21 0x00005a59b9c606e1 in main () at /usr/src/debug/plasma-workspace/plasma-workspace-6.2.3/xembed-sni-proxy/main.cpp:76

Reported using DrKonqi
This report was filed against 'kde' because the product 'xembedsniproxy' could not be located in Bugzilla. Add it to drkonqi's mappings file!
Comment 1 Jared Adams 2024-11-16 16:53:58 UTC
Since this report, I've had the same crash in Accessibility and GMenuDBusMenuProxy.
Comment 2 David Edmundson 2024-11-28 17:04:57 UTC
This is fixed in Qt 6.8.1
Comment 3 Jared Adams 2024-12-06 05:18:27 UTC
Still seeing this.

Operating System: CachyOS Linux 
KDE Plasma Version: 6.2.4
KDE Frameworks Version: 6.8.0
Qt Version: 6.8.1
Kernel Version: 6.12.1-2-cachyos (64-bit)
Graphics Platform: Wayland
Processors: 8 × Intel® Core™ i7-7700K CPU @ 4.20GHz
Memory: 62.8 GiB of RAM
Graphics Processor: AMD Radeon RX 6800 XT
Comment 4 Nicolas Fella 2024-12-15 16:25:46 UTC
*** Bug 488591 has been marked as a duplicate of this bug. ***
Comment 5 Nicolas Fella 2024-12-15 16:25:56 UTC
*** Bug 497156 has been marked as a duplicate of this bug. ***
Comment 6 Nicolas Fella 2024-12-15 16:26:05 UTC
*** Bug 497444 has been marked as a duplicate of this bug. ***
Comment 7 Nicolas Fella 2024-12-15 16:26:23 UTC
*** Bug 497469 has been marked as a duplicate of this bug. ***
Comment 8 Nicolas Fella 2024-12-15 16:26:56 UTC
It looks like the Qt fix missed 6.8.1, so it should be fixed in 6.8.2
Comment 9 Julien Delquié 2024-12-15 17:29:55 UTC
I built qtbase 6.8.1 + the following patch [1], on my Gentoo.
It’s linked to this bug report [2].
Keep you informed if anything goes wrong.

[1] https://github.com/qt/qtbase/commit/f8aa1c423e7f878a4a7518438321eb01e552747f
[2] https://bugreports.qt.io/browse/QTBUG-131343
Comment 10 Julien Delquié 2024-12-16 07:20:00 UTC
(In reply to Julien Delquié from comment #9)
> I built qtbase 6.8.1 + the following patch [1], on my Gentoo.
> It’s linked to this bug report [2].
> Keep you informed if anything goes wrong.
> 
> [1]
> https://github.com/qt/qtbase/commit/f8aa1c423e7f878a4a7518438321eb01e552747f
> [2] https://bugreports.qt.io/browse/QTBUG-131343

Seems that the patch does not work, I created a bugreport with the same kind of backtrace for ksmserver: https://bugs.kde.org/show_bug.cgi?id=497538
Comment 11 Nate Graham 2024-12-16 18:22:34 UTC
*** Bug 497538 has been marked as a duplicate of this bug. ***