Bug 497022

Summary: Virt Manager with Virtio GPU+OpenGL/Virgl crashes Plasma/Dolphin
Product: [Plasma] plasmashell Reporter: Parag W <parag.lkml>
Component: generic-crashAssignee: Plasma Bugs List <plasma-bugs-null>
Status: RESOLVED DUPLICATE    
Severity: crash CC: kdedev, nate, nicolas.fella
Priority: NOR Keywords: drkonqi
Version First Reported In: 6.2.4   
Target Milestone: 1.0   
Platform: Fedora RPMs   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=494224
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Parag W 2024-12-04 03:40:39 UTC
Application: plasmashell (6.2.4)

ApplicationNotResponding [ANR]: false
Qt Version: 6.8.0
Frameworks Version: 6.8.0
Operating System: Linux 6.12.1-200.fc41.x86_64 x86_64
Windowing System: Wayland
Distribution: "Fedora Linux 41 (Workstation Edition)"
DrKonqi: 6.2.4 [CoredumpBackend]

-- Information about the crash:
https://kevindavid.org/code/2024/03/20/chrome-os-flex-proxmox.html - was following this with Virt Manager and was able to repeatedly crash Plasma each time the ChromeOS Flex VM started or shutdown.

The crash can be reproduced every time.

-- Backtrace (Reduced):
#5  std::__atomic_base<int>::fetch_add (this=<optimized out>, __i=1, __m=std::memory_order::acq_rel) at /usr/include/qt6/QtCore/qbasicatomic.h:47
#6  QAtomicOps<int>::ref<int> (_q_value=...) at /usr/include/qt6/QtCore/qatomic_cxx11.h:259
[...]
#10 QArrayDataPointer<char16_t>::QArrayDataPointer (this=0x7fff6de68f10, other=...) at /usr/include/qt6/QtCore/qarraydatapointer.h:40
#11 QString::QString (this=<optimized out>, other=..., this=<optimized out>, other=...) at /usr/include/qt6/QtCore/qstring.h:1261
#12 Solid::DevicePrivate::udi (this=<optimized out>) at /usr/src/debug/kf6-solid-6.8.0-1.fc41.x86_64/src/solid/devices/frontend/device_p.h:32


Reported using DrKonqi
Comment 1 Parag W 2024-12-04 03:40:40 UTC
Created attachment 176335 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Nicolas Fella 2024-12-06 17:39:37 UTC
#5  std::__atomic_base<int>::fetch_add (this=<optimized out>, __i=1, __m=std::memory_order::acq_rel) at /usr/include/qt6/QtCore/qbasicatomic.h:47
#6  QAtomicOps<int>::ref<int> (_q_value=...) at /usr/include/qt6/QtCore/qatomic_cxx11.h:259
#7  QBasicAtomicInteger<int>::ref (this=<optimized out>) at /usr/include/qt6/QtCore/qbasicatomic.h:47
#8  QArrayData::ref (this=<optimized out>, this=<optimized out>) at /usr/include/qt6/QtCore/qarraydata.h:59
#9  QArrayDataPointer<char16_t>::ref (this=0x7fff6de68f10) at /usr/include/qt6/QtCore/qarraydatapointer.h:438
#10 QArrayDataPointer<char16_t>::QArrayDataPointer (this=0x7fff6de68f10, other=...) at /usr/include/qt6/QtCore/qarraydatapointer.h:40
#11 QString::QString (this=<optimized out>, other=..., this=<optimized out>, other=...) at /usr/include/qt6/QtCore/qstring.h:1261
#12 Solid::DevicePrivate::udi (this=<optimized out>) at /usr/src/debug/kf6-solid-6.8.0-1.fc41.x86_64/src/solid/devices/frontend/device_p.h:32
#13 Solid::Device::udi (this=this@entry=0x55fb26435578) at /usr/src/debug/kf6-solid-6.8.0-1.fc41.x86_64/src/solid/devices/frontend/device.cpp:70
#14 0x00007f9c5333974f in operator() (__closure=<optimized out>, device=...) at /usr/src/debug/kf6-kio-6.8.0-1.fc41.x86_64/src/filewidgets/kfileplacesmodel.cpp:744
#15 __gnu_cxx::__ops::_Iter_pred<KFilePlacesModelPrivate::deviceRemoved(const QString&)::<lambda(const Solid::Device&)> >::operator()<QList<Solid::Device>::iterator> (this=<optimized out>, __it=...) at /usr/include/c++/14/bits/predefined_ops.h:318
#16 std::__find_if<QList<Solid::Device>::iterator, __gnu_cxx::__ops::_Iter_pred<KFilePlacesModelPrivate::deviceRemoved(const QString&)::<lambda(const Solid::Device&)> > > (__first=..., __last=..., __pred=...) at /usr/include/c++/14/bits/stl_algobase.h:2109
#17 std::__find_if<QList<Solid::Device>::iterator, __gnu_cxx::__ops::_Iter_pred<KFilePlacesModelPrivate::deviceRemoved(const QString&)::<lambda(const Solid::Device&)> > > (__first=..., __last=..., __pred=...) at /usr/include/c++/14/bits/stl_algobase.h:2142
#18 std::find_if<QList<Solid::Device>::iterator, KFilePlacesModelPrivate::deviceRemoved(const QString&)::<lambda(const Solid::Device&)> > (__first=..., __last=..., __pred=...) at /usr/include/c++/14/bits/stl_algo.h:3875
#19 KFilePlacesModelPrivate::deviceRemoved (this=0x55fb26166110, udi=...) at /usr/src/debug/kf6-kio-6.8.0-1.fc41.x86_64/src/filewidgets/kfileplacesmodel.cpp:743
#20 operator() (__closure=<optimized out>, device=...) at /usr/src/debug/kf6-kio-6.8.0-1.fc41.x86_64/src/filewidgets/kfileplacesmodel.cpp:723
#21 operator() (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:141
#22 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QString&>, void, KFilePlacesModelPrivate::initDeviceList()::<lambda(const QString&)> >::call(KFilePlacesModelPrivate::initDeviceList()::<lambda(const QString&)>&, void**)::<lambda()> > (args=<optimized out>, fn=...) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65
#23 QtPrivate::FunctorCall<QtPrivate::IndexesList<0>, QtPrivate::List<const QString&>, void, KFilePlacesModelPrivate::initDeviceList()::<lambda(const QString&)> >::call (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:140
#24 QtPrivate::FunctorCallable<KFilePlacesModelPrivate::initDeviceList()::<lambda(const QString&)>, const QString&>::call<QtPrivate::List<QString const&>, void> (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:362
#25 QtPrivate::QCallableObject<KFilePlacesModelPrivate::initDeviceList()::<lambda(const QString&)>, QtPrivate::List<const QString&>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:572
#26 0x00007f9c67f5bac1 in QtPrivate::QSlotObjectBase::call (this=0x55fb263ed210, r=<optimized out>, a=0x7fff6de69060) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobjectdefs_impl.h:486
#27 doActivate<false> (sender=0x55fb26108780, signal_index=4, argv=0x7fff6de69060) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobject.cpp:4120
#28 0x00007f9c67f520c7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f9c6addd760 <Solid::DeviceNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff6de69060) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobject.cpp:4180
#29 0x00007f9c6ad17fac in Solid::DeviceNotifier::deviceRemoved (this=<optimized out>, _t1=...) at /usr/src/debug/kf6-solid-6.8.0-1.fc41.x86_64/redhat-linux-build/src/solid/KF6Solid_autogen/include/moc_devicenotifier.cpp:162
#30 0x00007f9c67f5bac1 in QtPrivate::QSlotObjectBase::call (this=0x55fb26334500, r=<optimized out>, a=0x7fff6de69290) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobjectdefs_impl.h:486
#31 doActivate<false> (sender=0x55fb26305ab0, signal_index=4, argv=0x7fff6de69290) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobject.cpp:4120
#32 0x00007f9c67f520c7 in QMetaObject::activate (sender=sender@entry=0x55fb26305ab0, m=<optimized out>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff6de69290) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobject.cpp:4180
#33 0x00007f9c6ad4748e in Solid::Ifaces::DeviceManager::deviceRemoved (this=0x55fb26305ab0, _t1=...) at /usr/src/debug/kf6-solid-6.8.0-1.fc41.x86_64/redhat-linux-build/src/solid/KF6Solid_autogen/include/moc_devicemanager.cpp:162
#34 Solid::Backends::UDev::UDevManager::slotDeviceRemoved (this=0x55fb26305ab0, device=...) at /usr/src/debug/kf6-solid-6.8.0-1.fc41.x86_64/src/solid/devices/backends/udev/udevmanager.cpp:248
#35 0x00007f9c67f5bd60 in doActivate<false> (sender=0x55fb26305a90, signal_index=4, argv=0x7fff6de69450) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobject.cpp:4132
#36 0x00007f9c67f520c7 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f9c6ade1a80 <UdevQt::Client::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7fff6de69450) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobject.cpp:4180
#37 0x00007f9c6ad484ad in UdevQt::Client::deviceRemoved (this=<optimized out>, _t1=...) at /usr/src/debug/kf6-solid-6.8.0-1.fc41.x86_64/redhat-linux-build/src/solid/KF6Solid_autogen/include/moc_udevqtclient.cpp:262
#38 UdevQt::ClientPrivate::dispatchEvent (this=<optimized out>) at /usr/src/debug/kf6-solid-6.8.0-1.fc41.x86_64/src/solid/devices/backends/shared/udevqtclient.cpp:102
#39 operator() (__closure=<optimized out>) at /usr/src/debug/kf6-solid-6.8.0-1.fc41.x86_64/src/solid/devices/backends/shared/udevqtclient.cpp:71
#40 operator() (__closure=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:141
#41 QtPrivate::FunctorCallBase::call_internal<void, QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, UdevQt::ClientPrivate::setWatchedSubsystems(const QStringList&)::<lambda()> >::call(UdevQt::ClientPrivate::setWatchedSubsystems(const QStringList&)::<lambda()>&, void**)::<lambda()> > (args=<optimized out>, fn=...) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:65
#42 QtPrivate::FunctorCall<QtPrivate::IndexesList<>, QtPrivate::List<>, void, UdevQt::ClientPrivate::setWatchedSubsystems(const QStringList&)::<lambda()> >::call (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:140
#43 QtPrivate::FunctorCallable<UdevQt::ClientPrivate::setWatchedSubsystems(const QStringList&)::<lambda()> >::call<QtPrivate::List<>, void> (f=..., arg=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:362
#44 QtPrivate::QCallableObject<UdevQt::ClientPrivate::setWatchedSubsystems(const QStringList&)::<lambda()>, QtPrivate::List<>, void>::impl(int, QtPrivate::QSlotObjectBase *, QObject *, void **, bool *) (which=<optimized out>, this_=<optimized out>, r=<optimized out>, a=<optimized out>, ret=<optimized out>) at /usr/include/qt6/QtCore/qobjectdefs_impl.h:572
#45 0x00007f9c67f5bac1 in QtPrivate::QSlotObjectBase::call (this=0x55fb2633cdf0, r=<optimized out>, a=0x7fff6de695b0) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobjectdefs_impl.h:486
#46 doActivate<false> (sender=0x55fb260ffbb0, signal_index=3, argv=0x7fff6de695b0) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobject.cpp:4120
#47 0x00007f9c67f520c7 in QMetaObject::activate (sender=sender@entry=0x55fb260ffbb0, m=m@entry=0x7f9c68479fa0 <QSocketNotifier::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7fff6de695b0) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qobject.cpp:4180
#48 0x00007f9c67f6a43d in QSocketNotifier::activated (this=this@entry=0x55fb260ffbb0, _t1=..., _t2=<optimized out>, _t3=...) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/redhat-linux-build/src/corelib/Core_autogen/include/moc_qsocketnotifier.cpp:195
#49 0x00007f9c67f6ac2b in QSocketNotifier::event (this=0x55fb260ffbb0, e=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qsocketnotifier.cpp:327
#50 0x00007f9c6a43d6b8 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x55fb260ffbb0, e=0x7fff6de696f0) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/widgets/kernel/qapplication.cpp:3294
#51 0x00007f9c67ef3a38 in QCoreApplication::notifyInternal2 (receiver=0x55fb260ffbb0, event=0x7fff6de696f0) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1165
#52 0x00007f9c67ef3c8d in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qcoreapplication.cpp:1609
#53 0x00007f9c681eb02f in socketNotifierSourceDispatch (source=0x55fb255d1d20) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:77
#54 0x00007f9c66abf28c in g_main_dispatch (context=0x7f9c4c000f30) at ../glib/gmain.c:3357
#55 g_main_context_dispatch_unlocked (context=0x7f9c4c000f30) at ../glib/gmain.c:4208
#56 0x00007f9c66b1f7b8 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f9c4c000f30, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4273
#57 0x00007f9c66ac0783 in g_main_context_iteration (context=0x7f9c4c000f30, may_block=1) at ../glib/gmain.c:4338
#58 0x00007f9c681e9de3 in QEventDispatcherGlib::processEvents (this=0x55fb25569ab0, flags=...) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/kernel/qeventdispatcher_glib.cpp:396
#59 0x00007f9c67f0221b in QEventLoop::exec (this=this@entry=0x7fff6de69a00, flags=..., flags@entry=...) at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/global/qflags.h:34
#60 0x00007f9c67efda2e in QCoreApplication::exec () at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/corelib/global/qflags.h:74
#61 0x00007f9c686d723d in QGuiApplication::exec () at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/gui/kernel/qguiapplication.cpp:1975
#62 0x00007f9c6a43d629 in QApplication::exec () at /usr/src/debug/qt6-qtbase-6.8.0-4.fc41.x86_64/src/widgets/kernel/qapplication.cpp:2562
#63 0x000055fb11bf9173 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-workspace-6.2.4-1.fc41.x86_64/shell/main.cpp:192
Comment 3 TraceyC 2024-12-10 01:36:35 UTC
The backtrace is very similar to bug 494224
Comment 4 Parag W 2024-12-10 13:20:46 UTC
Yes, however I don't have any network mounts or other non-standard things in my /etc/fstab which seems to be what was speculated as the cause in bug 494224.
Comment 5 Nate Graham 2024-12-10 18:47:13 UTC
Definitely the same backtrace. Maybe network mounts are a red herring. Can you paste your /etc/fstab file into Bug 494224 please? Thanks!

*** This bug has been marked as a duplicate of bug 494224 ***