10110111 / k4oxygen

A standalone variant of Oxygen theme for Qt 4,5,6, intended to look mostly like Oxygen@KDE4
GNU Lesser General Public License v2.1
4 stars 1 forks source link

When this qstyle is installed, system settings crashes #16

Closed hazel-bunny closed 1 month ago

hazel-bunny commented 9 months ago

https://bugs.kde.org/show_bug.cgi?id=481675

10110111 commented 9 months ago

Copying the report body to avoid rotten links


Application: systemsettings (5.27.10)

Qt Version: 5.15.12 Frameworks Version: 5.115.0 Operating System: Linux 6.7.4-200.fc39.x86_64 x86_64 Windowing System: Wayland Distribution: "Fedora Linux 39 (KDE Plasma)" DrKonqi: 5.27.10 [KCrashBackend]

Information about the crash:

Steps to reproduce:

  1. Open system settings
  2. Go to Appearance > Application Style

Also reproducible when starting Application Style kcm directly from krunner or overview

Custom settings that may be related: I have k4oxygen qstyle installed for qt4, qt5 and qt6

Unusual desktop behavior noticed: Plasmashell crashes when starting application style kcm from overview

The crash can be reproduced every time.

Backtrace:

Application: System Settings (systemsettings), signal: Segmentation fault
Content of s_kcrashErrorMessage: std::unique_ptr<char []> = {get() = <optimized out>}
[KCrash Handler]
#6  0x00007f87d51711d3 in XInternAtom (dpy=0x5647a2073bb0, name=0x7f879e19e232 "_KDE_NET_WM_HAS_ARGB", onlyIfExists=0) at /usr/src/debug/libX11-1.8.7-1.fc39.x86_64/src/IntAtom.c:175
#7  0x00007f879e182093 in Oxygen::Helper::Helper() () from /usr/lib64/qt5/plugins/styles/k4oxygen.so
#8  0x00007f879e16d0da in Oxygen::StyleHelper::StyleHelper() () from /usr/lib64/qt5/plugins/styles/k4oxygen.so
#9  0x00007f879e145b69 in Oxygen::Style::Style() () from /usr/lib64/qt5/plugins/styles/k4oxygen.so
#10 0x00007f879e1461c0 in Oxygen::StylePlugin::create(QString const&) () from /usr/lib64/qt5/plugins/styles/k4oxygen.so
#11 0x00007f87d6c255a1 in qLoadPlugin<QStyle, QStylePlugin> (key=..., loader=0x7f87d71073c0 <(anonymous namespace)::Q_QGS_loader::innerFunction()::holder>) at ../../include/QtCore/5.15.12/QtCore/private/../../../../../src/corelib/plugin/qfactoryloader_p.h:108
#12 QStyleFactory::create (key=...) at styles/qstylefactory.cpp:105
#13 0x00007f87b09e4c8a in PreviewItem::reload (this=0x5647a34d2e60) at /usr/src/debug/plasma-workspace-5.27.10-1.fc39.x86_64/kcms/style/previewitem.cpp:106
#14 0x00007f87d3b2763b in QQmlObjectCreator::finalize (this=0x5647a2f477f0, interrupt=...) at qml/qqmlobjectcreator.cpp:1424
#15 0x00007f87d3ab9049 in QQmlIncubatorPrivate::incubate (this=this@entry=0x5647a37d9f70, i=...) at /usr/include/qt5/QtCore/qscopedpointer.h:116
#16 0x00007f87d3ab9ba0 in QQmlEnginePrivate::incubate (this=0x5647a2626370, i=..., forContext=<optimized out>) at qml/qqmlincubator.cpp:89
#17 0x00007f87d0e800c0 in QQmlDelegateModelPrivate::object (this=0x5647a34e9ca0, group=QQmlListCompositor::Default, index=2, incubationMode=<optimized out>) at qqmldelegatemodel.cpp:1324
#18 0x00007f87d4166f64 in QQuickItemViewPrivate::createItem (this=this@entry=0x5647a34ab170, modelIndex=modelIndex@entry=2, incubationMode=incubationMode@entry=QQmlIncubator::AsynchronousIfNested) at items/qquickitemview.cpp:2349
#19 0x00007f87d415937c in QQuickGridViewPrivate::addVisibleItems (this=0x5647a34ab170, fillFrom=-0, fillTo=618, bufferFrom=<optimized out>, bufferTo=<optimized out>, doBuffer=false) at items/qquickgridview.cpp:520
#20 0x00007f87d4167f80 in QQuickItemViewPrivate::refill (this=0x5647a34ab170, from=-0, to=618) at items/qquickitemview.cpp:1799
#21 0x00007f87d416b26b in QQuickItemViewPrivate::regenerate (this=0x5647a34ab170, orientationChanged=<optimized out>) at items/qquickitemview.cpp:1846
#22 0x00007f87d416b5aa in QQuickItemViewPrivate::regenerate (orientationChanged=false, this=0x5647a34ab170) at items/qquickitemview.cpp:1269
#23 QQuickItemView::modelUpdated (this=0x5647a37ba5d0, changeSet=..., reset=<optimized out>) at items/qquickitemview.cpp:1245
#24 0x00007f87d5ee92d8 in doActivate<false> (sender=0x5647a2744160, signal_index=4, argv=0x7ffcc05a3200) at kernel/qobject.cpp:3937
#25 0x00007f87d5ee4077 in QMetaObject::activate (sender=<optimized out>, m=m@entry=0x7f87d0eb0b80 <QQmlInstanceModel::staticMetaObject>, local_signal_index=local_signal_index@entry=1, argv=argv@entry=0x7ffcc05a3200) at kernel/qobject.cpp:3985
#26 0x00007f87d0e51327 in QQmlInstanceModel::modelUpdated (this=<optimized out>, _t1=..., _t2=<optimized out>) at .moc/moc_qqmlobjectmodel_p.cpp:263
#27 0x00007f87d0e7345d in non-virtual thunk to QQmlDelegateModelPrivate::emitModelUpdated(QQmlChangeSet const&, bool) () at /usr/src/debug/qt5-qtdeclarative-5.15.12-1.fc39.x86_64/src/qmlmodels/qqmldelegatemodel_p_p.h:333
#28 0x00007f87d0e7a733 in QQmlDelegateModelGroupPrivate::emitModelUpdated (this=0x5647a381c2f0, reset=reset@entry=true) at qqmldelegatemodel.cpp:2770
#29 0x00007f87d0e7ab48 in QQmlDelegateModelPrivate::emitChanges (this=this@entry=0x5647a34e9ca0) at qqmldelegatemodel.cpp:1884
#30 0x00007f87d0e85b97 in QQmlDelegateModel::_q_modelReset (this=0x5647a2744160) at qqmldelegatemodel.cpp:1939
#31 0x00007f87d0e86772 in QQmlDelegateModel::qt_metacall (this=0x5647a2744160, _c=QMetaObject::InvokeMetaMethod, _id=8, _a=0x7ffcc05a4490) at .moc/moc_qqmldelegatemodel_p.cpp:371
#32 0x00007f87d5ee901f in doActivate<false> (sender=0x5647a2461750, signal_index=21, argv=0x7ffcc05a4490) at kernel/qobject.cpp:3951
#33 0x00007f87d5ee4077 in QMetaObject::activate (sender=sender@entry=0x5647a2461750, m=m@entry=0x7f87d6167900 <QAbstractItemModel::staticMetaObject>, local_signal_index=local_signal_index@entry=18, argv=argv@entry=0x7ffcc05a4490) at kernel/qobject.cpp:3985
#34 0x00007f87d5e63770 in QAbstractItemModel::modelReset (this=this@entry=0x5647a2461750, _t1=...) at .moc/moc_qabstractitemmodel.cpp:648
#35 0x00007f87d5e6531b in QAbstractItemModel::endResetModel (this=this@entry=0x5647a2461750) at itemmodels/qabstractitemmodel.cpp:3304
#36 0x00007f87b09e13db in StylesModel::load (this=<optimized out>) at /usr/src/debug/plasma-workspace-5.27.10-1.fc39.x86_64/kcms/style/stylesmodel.cpp:198
#37 0x00007f87b09e2cc6 in KCMStyle::load (this=0x5647a4163140) at /usr/src/debug/plasma-workspace-5.27.10-1.fc39.x86_64/kcms/style/kcmstyle.cpp:252
#38 0x00007f87d691111e in KCModuleQml::load (this=0x5647a411d980) at /usr/src/debug/kf5-kcmutils-5.115.0-1.fc39.x86_64/src/kcmoduleqml.cpp:300
#39 0x00007f87d5edf9fb in QObject::event (this=0x5647a411d980, e=0x5647a2f0c3e0) at kernel/qobject.cpp:1347
#40 0x00007f87d6baeb95 in QApplicationPrivate::notify_helper (this=<optimized out>, receiver=0x5647a411d980, e=0x5647a2f0c3e0) at kernel/qapplication.cpp:3640
#41 0x00007f87d5eb4e78 in QCoreApplication::notifyInternal2 (receiver=0x5647a411d980, event=0x5647a2f0c3e0) at kernel/qcoreapplication.cpp:1064
#42 0x00007f87d5eb5092 in QCoreApplication::sendEvent (receiver=<optimized out>, event=<optimized out>) at kernel/qcoreapplication.cpp:1462
#43 0x00007f87d5eb8325 in QCoreApplicationPrivate::sendPostedEvents (receiver=0x0, event_type=0, data=0x5647a204adf0) at kernel/qcoreapplication.cpp:1821
#44 0x00007f87d5eb85dd in QCoreApplication::sendPostedEvents (receiver=<optimized out>, event_type=<optimized out>) at kernel/qcoreapplication.cpp:1680
#45 0x00007f87d5f078cf in postEventSourceDispatch (s=0x5647a208e8b0) at kernel/qeventdispatcher_glib.cpp:277
#46 0x00007f87d4511e5c in g_main_dispatch (context=0x7f87bc000ec0) at ../glib/gmain.c:3476
#47 g_main_context_dispatch_unlocked (context=0x7f87bc000ec0) at ../glib/gmain.c:4284
#48 0x00007f87d456cf18 in g_main_context_iterate_unlocked.isra.0 (context=context@entry=0x7f87bc000ec0, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4349
#49 0x00007f87d450fad3 in g_main_context_iteration (context=0x7f87bc000ec0, may_block=1) at ../glib/gmain.c:4414
#50 0x00007f87d5f073b9 in QEventDispatcherGlib::processEvents (this=0x5647a2097d40, flags=...) at kernel/qeventdispatcher_glib.cpp:423
#51 0x00007f87d5eb383b in QEventLoop::exec (this=this@entry=0x7ffcc05a4b10, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:69
#52 0x00007f87d5ebbacb in QCoreApplication::exec () at ../../include/QtCore/../../src/corelib/global/qflags.h:121
#53 0x00007f87d6360efd in QGuiApplication::exec () at kernel/qguiapplication.cpp:1863
#54 0x00007f87d6baeb09 in QApplication::exec () at kernel/qapplication.cpp:2832
#55 0x00005647a19115a8 in main (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/plasma-systemsettings-5.27.10-1.fc39.x86_64/app/main.cpp:188
[Inferior 1 (process 11396) detached]
10110111 commented 9 months ago

XInternAtom (dpy=0x5647a2073bb0, ...

How come you're on Wayland, but QX11Info::display() returns some sensible address? Are you using some kind of X server on top of Wayland?

hazel-bunny commented 9 months ago

Maybe something was using xwayland. Krita does so, but don't think it was open.

10110111 commented 9 months ago

Please check if fb8a0405d2fd1f07143deffc5182e67800aa5b56 helps (in wayland-compatibility branch).

hazel-bunny commented 8 months ago

Please check if fb8a040 helps (in wayland-compatibility branch).

Qt6 build fails with

[  2%] Building CXX object style/CMakeFiles/k4oxygen.dir/k4oxygen_autogen/mocs_compilation.cpp.o
In file included from /home/REDACTED/src/k4oxygen/build/style/k4oxygen_autogen/EWIEGA46WW/../../../../style/oxygenstylehelper.h:25,
                 from /home/REDACTED/src/k4oxygen/build/style/k4oxygen_autogen/EWIEGA46WW/../../../../style/oxygenargbhelper.h:33,
                 from /home/REDACTED/src/k4oxygen/build/style/k4oxygen_autogen/EWIEGA46WW/moc_oxygenargbhelper.cpp:9,
                 from /home/REDACTED/src/k4oxygen/build/style/k4oxygen_autogen/mocs_compilation.cpp:36:
/home/REDACTED/src/k4oxygen/style/../libs/oxygenhelper.h: In member function ‘bool Oxygen::Helper::x11Present() const’:
/home/REDACTED/src/k4oxygen/style/../libs/oxygenhelper.h:164:42: error: ‘x11Present_’ was not declared in this scope; did you mean ‘x11Present’?
  164 |         bool x11Present() const { return x11Present_; }
      |                                          ^~~~~~~~~~~
      |                                          x11Present
make[2]: *** [style/CMakeFiles/k4oxygen.dir/build.make:82: style/CMakeFiles/k4oxygen.dir/k4oxygen_autogen/mocs_compilation.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:101: style/CMakeFiles/k4oxygen.dir/all] Error 2
make: *** [Makefile:136: all] Error 2

Qt4 build fails with

Building CXX object style/CMakeFiles/k4oxygen.dir/__/libs/oxygenhelper.cpp.o
/home/REDACTED/src/k4oxygen/libs/oxygenhelper.cpp:28:10: fatal error: QGuiApplication: No such file or directory
   28 | #include <QGuiApplication>
      |          ^~~~~~~~~~~~~~~~~
compilation terminated.
make[2]: *** [style/CMakeFiles/k4oxygen.dir/build.make:888: style/CMakeFiles/k4oxygen.dir/__/libs/oxygenhelper.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:99: style/CMakeFiles/k4oxygen.dir/all] Error 2
make: *** [Makefile:136: all] Error 2
10110111 commented 8 months ago

Build failures have been fixed in b0291eff019d4ccd498970d0c8323e49e74a2fec.