Bug 453931 - Plasma crash when running Java 17 CLI application, and one of them invokes DBus wrong
Summary: Plasma crash when running Java 17 CLI application, and one of them invokes DB...
Status: RESOLVED DUPLICATE of bug 435999
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: 5.24.5
Platform: openSUSE Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2022-05-17 11:46 UTC by alexmateescu
Modified: 2022-05-17 21:28 UTC (History)
3 users (show)

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description alexmateescu 2022-05-17 11:46:35 UTC
Application: plasmashell (5.24.5)

Qt Version: 5.15.2
Frameworks Version: 5.93.0
Operating System: Linux 5.17.7-1-default x86_64
Windowing System: X11
Distribution: openSUSE Tumbleweed
DrKonqi: 5.24.5 [KCrashBackend]

-- Information about the crash:
Run a Java app that would open a number of websocket connections

The crash can be reproduced every time.

-- Backtrace:
Application: Plasma (plasmashell), signal: Aborted

[KCrash Handler]
#4  0x00007f2500bfb55c in __pthread_kill_implementation () from /lib64/libc.so.6
#5  0x00007f2500ba86f6 in raise () from /lib64/libc.so.6
#6  0x00007f2500b91814 in abort () from /lib64/libc.so.6
#7  0x00007f24fffede22 in _dbus_abort () at /usr/src/debug/dbus-1-1.14.0-3.2.x86_64/dbus/dbus-sysdeps.c:101
#8  0x00007f25000142a0 in _dbus_warn_check_failed (format=0x7f2500021c70 "arguments to %s() were incorrect, assertion \"%s\" failed in file %s line %d.\nThis is normally a bug in some application using the D-Bus library.\n") at /usr/src/debug/dbus-1-1.14.0-3.2.x86_64/dbus/dbus-internals.c:289
#9  0x00007f2501cc4c71 in q_dbus_pending_call_block (pending=<optimized out>) at /usr/src/debug/libqt5-qtbase-5.15.2+kde294-5.3.x86_64/src/dbus/qdbus_symbols_p.h:450
#10 QDBusConnectionPrivate::getNameOwnerNoCache (this=this@entry=0x7f24ec004e80, serviceName=...) at qdbusintegrator.cpp:2563
#11 0x00007f2501cc6eeb in QDBusConnectionPrivate::addSignalHook (this=0x7f24ec004e80, key=..., hook=...) at qdbusintegrator.cpp:2298
#12 0x00007f2501cc7ce1 in QtPrivate::FunctorCall<QtPrivate::IndexesList<0, 1>, QtPrivate::List<QString const&, QDBusConnectionPrivate::SignalHook const&>, bool, bool (QDBusConnectionPrivate::*)(QString const&, QDBusConnectionPrivate::SignalHook const&)>::call (arg=0x7ffc87d93740, o=<optimized out>, f=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:152
#13 QtPrivate::FunctionPointer<bool (QDBusConnectionPrivate::*)(QString const&, QDBusConnectionPrivate::SignalHook const&)>::call<QtPrivate::List<QString const&, QDBusConnectionPrivate::SignalHook const&>, bool> (arg=0x7ffc87d93740, o=<optimized out>, f=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:185
#14 QtPrivate::QSlotObject<bool (QDBusConnectionPrivate::*)(QString const&, QDBusConnectionPrivate::SignalHook const&), QtPrivate::List<QString const&, QDBusConnectionPrivate::SignalHook const&>, bool>::impl (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=0x7ffc87d93740, ret=<optimized out>) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:418
#15 0x00007f25012b5660 in QObject::event (this=0x7f24ec004e80, e=0x5605ba6f1010) at kernel/qobject.cpp:1314
#16 0x00007f250128995d in doNotify (event=0x5605ba6f1010, receiver=0x7f24ec004e80) at kernel/qcoreapplication.cpp:1154
#17 QCoreApplication::notify (event=<optimized out>, receiver=<optimized out>, this=<optimized out>) at kernel/qcoreapplication.cpp:1140
#18 QCoreApplication::notifyInternal2 (receiver=0x7f24ec004e80, event=0x5605ba6f1010) at kernel/qcoreapplication.cpp:1064
#19 0x00007f250128c921 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5605b96d8b00) at kernel/qcoreapplication.cpp:1821
#20 0x00007f25012e1ec3 in postEventSourceDispatch (s=0x7f24ec004bc0) at kernel/qeventdispatcher_glib.cpp:277
#21 0x00007f24ff5a4da0 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#22 0x00007f24ff5a5158 in ?? () from /lib64/libglib-2.0.so.0
#23 0x00007f24ff5a51ec in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#24 0x00007f25012e15a6 in QEventDispatcherGlib::processEvents (this=0x7f24ec000b70, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#25 0x00007f25012883fb in QEventLoop::exec (this=this@entry=0x7f24fb895b90, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#26 0x00007f25010a1cf7 in QThread::exec (this=this@entry=0x7f2501d2b060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#27 0x00007f2501cb2267 in QDBusConnectionManager::run (this=0x7f2501d2b060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179
#28 0x00007f25010a2eed in QThreadPrivate::start (arg=0x7f2501d2b060 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:331
#29 0x00007f2500bf9607 in start_thread () from /lib64/libc.so.6
#30 0x00007f2500c83a10 in clone3 () from /lib64/libc.so.6

Thread 2 (Thread 0x7f24fc4da640 (LWP 9028) "QXcbEventQueue"):
#1  0x00007f25033cb91a in poll (__timeout=-1, __nfds=1, __fds=0x7f24fc4d9ac8) at /usr/include/bits/poll2.h:39
#2  _xcb_conn_wait (c=0x5605b9611670, vector=0x0, count=0x0, cond=<optimized out>) at /usr/src/debug/libxcb-1.15-1.2.x86_64/src/xcb_conn.c:508
#3  0x00007f25033cd30c in _xcb_conn_wait (count=0x0, vector=0x0, cond=0x5605b96116b0, c=0x5605b9611670) at /usr/src/debug/libxcb-1.15-1.2.x86_64/src/xcb_conn.c:474
#4  xcb_wait_for_event (c=0x5605b9611670) at /usr/src/debug/libxcb-1.15-1.2.x86_64/src/xcb_in.c:703
#5  0x00007f24fc617510 in QXcbEventQueue::run (this=0x5605b960b810) at qxcbeventqueue.cpp:228
#6  0x00007f25010a2eed in QThreadPrivate::start (arg=0x5605b960b810) at thread/qthread_unix.cpp:331
#7  0x00007f2500bf9607 in start_thread () from /lib64/libc.so.6
#8  0x00007f2500c83a10 in clone3 () from /lib64/libc.so.6

Thread 1 (Thread 0x7f24fe6ebdc0 (LWP 9018) "plasmashell"):
#1  0x00007f25010a4f5b in QtLinuxFutex::_q_futex (val3=0, addr2=0x0, val2=0, val=<optimized out>, op=0, addr=<optimized out>) at thread/qfutex_p.h:116
#2  QtLinuxFutex::futexWait<QBasicAtomicInteger<unsigned int> > (expectedValue=<optimized out>, futex=...) at thread/qfutex_p.h:135
#3  futexSemaphoreTryAcquire_loop<false> (timeout=-1, nn=8589934593, curValue=<optimized out>, u=...) at thread/qsemaphore.cpp:219
#4  futexSemaphoreTryAcquire<false> (timeout=-1, n=n@entry=1, u=..., u@entry=<error reading variable: Cannot access memory at address 0x1ffffff69>) at thread/qsemaphore.cpp:262
#5  QSemaphore::acquire (this=this@entry=0x7ffc87d936c0, n=n@entry=1) at thread/qsemaphore.cpp:326
#6  0x00007f25012c0d39 in doActivate<false> (sender=0x7f24ec004e80, signal_index=7, argv=0x7ffc87d93740) at kernel/qobject.cpp:3867
#7  0x00007f25012ba0cf in QMetaObject::activate (sender=sender@entry=0x7f24ec004e80, m=m@entry=0x7f2501d296a0 <QDBusConnectionPrivate::staticMetaObject>, local_signal_index=local_signal_index@entry=4, argv=argv@entry=0x7ffc87d93740) at kernel/qobject.cpp:3946
#8  0x00007f2501d0ddb3 in QDBusConnectionPrivate::signalNeedsConnecting (this=this@entry=0x7f24ec004e80, _t1=..., _t2=...) at .moc/moc_qdbusconnection_p.cpp:357
#9  0x00007f2501cbc5b6 in QDBusConnectionPrivate::connectRelay (this=0x7f24ec004e80, service=..., path=..., interface=..., receiver=0x7f24ec03e730, signal=...) at qdbusintegrator.cpp:2463
#10 0x00007f25012b69da in QObjectPrivate::connectImpl (sender=0x7f24ec03e730, signal_index=5, receiver=<optimized out>, slot=<optimized out>, slotObj=0x7f24ec0211b0, type=<optimized out>, types=<optimized out>, senderMetaObject=<optimized out>) at kernel/qobject.cpp:5071
#11 0x00007f25012b6cb5 in QObject::connectImpl (sender=sender@entry=0x7f24ec03e730, signal=signal@entry=0x7ffc87d93a10, receiver=receiver@entry=0x7f24f816d070 <KSysGuard::SensorDaemonInterface::instance()::instance>, slot=slot@entry=0x7ffc87d93a20, slotObj=0x7f24ec0211b0, type=Qt::AutoConnection, types=0x0, senderMetaObject=<optimized out>) at kernel/qobject.cpp:5001
#12 0x00007f24f81612c4 in QObject::connect<void (OrgKdeKsystemstatsInterface::*)(QHash<QString, KSysGuard::SensorInfo> const&), void (KSysGuard::SensorDaemonInterface::*)(QHash<QString, KSysGuard::SensorInfo> const&)> (type=Qt::AutoConnection, slot=(void (KSysGuard::SensorDaemonInterface::*)(KSysGuard::SensorDaemonInterface * const, const QHash<QString, KSysGuard::SensorInfo> &)) 0x7f24f815c5b0 <KSysGuard::SensorDaemonInterface::onMetaDataChanged(QHash<QString, KSysGuard::SensorInfo> const&)>, receiver=0x7f24f816d070 <KSysGuard::SensorDaemonInterface::instance()::instance>, signal=(void (OrgKdeKsystemstatsInterface::*)(OrgKdeKsystemstatsInterface * const, const QHash<QString, KSysGuard::SensorInfo> &)) 0x7f24f8133380 <OrgKdeKsystemstatsInterface::sensorMetaDataChanged(QHash<QString, KSysGuard::SensorInfo> const&)>, sender=<optimized out>) at /usr/include/qt5/QtCore/qobject.h:268
#13 KSysGuard::SensorDaemonInterface::reconnect (this=0x7f24f816d070 <KSysGuard::SensorDaemonInterface::instance()::instance>) at /usr/src/debug/libksysguard5-5.24.5-1.2.x86_64/sensors/SensorDaemonInterface.cpp:41
#14 0x00007f25012c0def in QtPrivate::QSlotObjectBase::call (a=0x7ffc87d93b40, r=0x7f24f816d070 <KSysGuard::SensorDaemonInterface::instance()::instance>, this=0x5605b9a910d0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398
#15 doActivate<false> (sender=0x5605b9aab660, signal_index=4, argv=0x7ffc87d93b40) at kernel/qobject.cpp:3886
#16 0x00007f25012ba0cf in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f2501d292c0, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffc87d93b40) at kernel/qobject.cpp:3946
#17 0x00007f2501d0bdf5 in QDBusServiceWatcher::serviceUnregistered (this=<optimized out>, _t1=...) at .moc/moc_qdbusservicewatcher.cpp:235
#18 0x00007f2501d0c6fd in QDBusServiceWatcherPrivate::_q_serviceOwnerChanged (newOwner=..., oldOwner=..., service=..., this=<optimized out>) at qdbusservicewatcher.cpp:80
#19 0x00007f2501d0cc13 in QDBusServiceWatcher::qt_metacall (this=0x5605b9aab660, _c=QMetaObject::InvokeMetaMethod, _id=3, _a=0x7ffc87d93c60) at .moc/moc_qdbusservicewatcher.cpp:197
#20 0x00007f2501cbe66b in QDBusConnectionPrivate::deliverCall (this=<optimized out>, object=<optimized out>, msg=..., metaTypes=..., slotIdx=<optimized out>) at ../../include/QtCore/../../src/corelib/tools/qvarlengtharray.h:189
#21 0x00007f25012b5660 in QObject::event (this=0x5605b9aab660, e=0x7f24ec0765b0) at kernel/qobject.cpp:1314
#22 0x00007f250202837e in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5605b9aab660, e=0x7f24ec0765b0) at kernel/qapplication.cpp:3632
#23 0x00007f2501289988 in QCoreApplication::notifyInternal2 (receiver=0x5605b9aab660, event=0x7f24ec0765b0) at kernel/qcoreapplication.cpp:1064
#24 0x00007f250128c921 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5605b95bba90) at kernel/qcoreapplication.cpp:1821
#25 0x00007f25012e1ec3 in postEventSourceDispatch (s=0x5605b96ca050) at kernel/qeventdispatcher_glib.cpp:277
#26 0x00007f24ff5a4da0 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#27 0x00007f24ff5a5158 in ?? () from /lib64/libglib-2.0.so.0
#28 0x00007f24ff5a51ec in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#29 0x00007f25012e15a6 in QEventDispatcherGlib::processEvents (this=0x5605b96d4b50, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#30 0x00007f25012883fb in QEventLoop::exec (this=this@entry=0x7ffc87d940a0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#31 0x00007f2501290566 in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#32 0x00007f25016d93bc in QGuiApplication::exec () at kernel/qguiapplication.cpp:1867
#33 0x00007f25020282f5 in QApplication::exec () at kernel/qapplication.cpp:2824
#34 0x00005605b80ca72e in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma5-workspace-5.24.5-1.3.x86_64/shell/main.cpp:238
[Inferior 1 (process 9018) detached]

Possible duplicates by query: bug 437818, bug 432216, bug 405751.

Reported using DrKonqi
Comment 1 Nate Graham 2022-05-17 15:24:13 UTC
#8  0x00007f25000142a0 in _dbus_warn_check_failed (format=0x7f2500021c70 "arguments to %s() were incorrect, assertion \"%s\" failed in file %s line %d.\nThis is normally a bug in some application using the D-Bus library.\n") at /usr/src/debug/dbus-1-1.14.0-3.2.x86_64/dbus/dbus-internals.c:289

Question is whether Plasma is using DBus wrong here, or the app is and Plasma is at fault for crashing rather than doing something more sensible.
Comment 2 Nicolas Fella 2022-05-17 15:45:25 UTC
I doubt it has any tangible relation to the Java app. The crash is somewhere deep in Qt's DBus handling, and looking at the possible duplicates there's similar crashes that don't mention Java apps.
Comment 3 Nicolas Fella 2022-05-17 15:54:14 UTC
What seems to happen is that the ksystemstats DBus service disappears, which sets off a chain of events that eventually leads to this crash

#17 0x00007f2501d0bdf5 in QDBusServiceWatcher::serviceUnregistered (this=<optimized out>, _t1=...) at .moc/moc_qdbusservicewatcher.cpp:235

leads to
#13 KSysGuard::SensorDaemonInterface::reconnect (this=0x7f24f816d070 <KSysGuard::SensorDaemonInterface::instance()::instance>) at /usr/src/debug/libksysguard5-5.24.5-1.2.x86_64/sensors/SensorDaemonInterface.cpp:41

leads to
#8  0x00007f2501d0ddb3 in QDBusConnectionPrivate::signalNeedsConnecting (this=this@entry=0x7f24ec004e80, _t1=..., _t2=...) at .moc/moc_qdbusconnection_p.cpp:357

leads to
#11 0x00007f2501cc6eeb in QDBusConnectionPrivate::addSignalHook (this=0x7f24ec004e80, key=..., hook=...) at qdbusintegrator.cpp:2298

leads to
#10 QDBusConnectionPrivate::getNameOwnerNoCache (this=this@entry=0x7f24ec004e80, serviceName=...) at qdbusintegrator.cpp:2563

which is where it goes wrong in Qt code. But no idea what exactly is wrong there.

Manually killing systemstats doesn't make anything crash here
Comment 4 Nicolas Fella 2022-05-17 16:13:20 UTC

*** This bug has been marked as a duplicate of bug 435999 ***
Comment 5 alexmateescu 2022-05-17 21:28:03 UTC
This may be relevant: I have seen this after Tumbleweed pushed their GCC12 compiled packages.