Bug 427950 - "Application Style" settings crash when scrolling style view/list
Summary: "Application Style" settings crash when scrolling style view/list
Status: CONFIRMED
Alias: None
Product: QtCurve
Classification: Frameworks and Libraries
Component: gtk2 (other bugs)
Version First Reported In: unspecified
Platform: Gentoo Packages Linux
: NOR crash
Target Milestone: ---
Assignee: Yichao Yu
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2020-10-19 01:23 UTC by Luke-Jr
Modified: 2022-10-30 09:10 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Luke-Jr 2020-10-19 01:23:55 UTC
Application: systemsettings5 (5.19.5)

Qt Version: 5.14.2
Frameworks Version: 5.74.0
Operating System: Linux 4.19.148-gentoo-nobuiltinmemcmp ppc64le
Windowing system: X11
Distribution: "Gentoo Base System release 2.7"

-- Information about the crash:
- What I was doing when the application crashed:

No matter how I scroll it (scroll bar, keyboard, scroll wheel), System Settings crashes when I try to scroll down in the Application Style list.

The crash can be reproduced every time.

-- Backtrace:
Application: System Settings (systemsettings5), signal: Segmentation fault
Content of s_kcrashErrorMessage: (null)
[KCrash Handler]
#6  0x00007ffe50592100 in qtcMax<int, int> (b=<error reading variable>, a=@0x7fffc0003f78: 0) at .cmake_utils_base/cmake_c_macros/include_fix/qtcurve-utils/number.h:31
#7  QtCurve::Rect::intersect(_cairo_rectangle_int const*, _cairo_rectangle_int const*, _cairo_rectangle_int*) (src1=0x7fffc0003f78, src2=0x0, dest=0x7fffc0003f78) at /var/tmp/portage/x11-themes/qtcurve-1.9.0-r1/work/qtcurve-1.9.0/lib/cairo/utils.cpp:47
#8  0x00007ffe5061e670 in QtCurve::Rect::constrain (con=<optimized out>, _rect=0x7fffc0003f78) at .cmake_utils_base/cmake_c_macros/include_fix/qtcurve-cairo/utils.h:102
#9  QtCurve::qtcSetProgressStripeClipping(cairo_t*, QtcRect const*, int, int, int, int, int, bool) (cr=cr@entry=0x1375136e0, area=<optimized out>, area@entry=0x0, x=x@entry=0, y=<optimized out>, y@entry=0, width=<optimized out>, width@entry=107, height=<optimized out>, height@entry=23, animShift=animShift@entry=-10, horiz=<optimized out>, horiz@entry=true) at /var/tmp/portage/x11-themes/qtcurve-1.9.0-r1/work/qtcurve-1.9.0/gtk2/style/drawing.cpp:1412
#10 0x00007ffe50625fd4 in QtCurve::drawProgress(_cairo*, _GtkStyle*, GtkStateType, _GtkWidget*, _cairo_rectangle_int const*, int, int, int, int, bool, bool) (cr=0x1375136e0, style=0x1362b2f00 [QtCurveStyle], state=<optimized out>, widget=0x1363319b0 [GtkProgressBar], area=0x0, x=1, y=1, width=105, height=21, rev=false, isEntryProg=false) at /var/tmp/portage/x11-themes/qtcurve-1.9.0-r1/work/qtcurve-1.9.0/gtk2/style/drawing.cpp:1552
#11 0x00007ffe50650d44 in QtCurve::drawBox(GtkStyle*, GdkWindow*, GtkStateType, GtkShadowType, GdkRectangle*, GtkWidget*, char const*, int, int, int, int, bool) (style=style@entry=0x1362b2f00 [QtCurveStyle], window=window@entry=0x1377f5cf0 [GdkPixmap], state=state@entry=GTK_STATE_SELECTED, shadow=shadow@entry=GTK_SHADOW_OUT, area=area@entry=0x0, widget=widget@entry=0x1363319b0 [GtkProgressBar], _detail=_detail@entry=0x7ffec0299190 "bar", x=x@entry=0, y=<optimized out>, y@entry=0, width=<optimized out>, height=<optimized out>, btnDown=<optimized out>) at /var/tmp/portage/x11-themes/qtcurve-1.9.0-r1/work/qtcurve-1.9.0/gtk2/style/qtcurve.cpp:1505
#12 0x00007ffe50651f2c in QtCurve::gtkDrawBox(GtkStyle*, GdkWindow*, GtkStateType, GtkShadowType, GdkRectangle*, GtkWidget*, char const*, int, int, int, int) (style=0x1362b2f00 [QtCurveStyle], window=0x1377f5cf0 [GdkPixmap], state=<optimized out>, shadow=<optimized out>, area=0x0, widget=0x1363319b0 [GtkProgressBar], detail=0x7ffec0299190 "bar", x=<optimized out>, y=0, width=<optimized out>, height=<optimized out>) at /var/tmp/portage/x11-themes/qtcurve-1.9.0-r1/work/qtcurve-1.9.0/gtk2/style/qtcurve.cpp:1585
#13 0x00007ffe90442144 in IA__gtk_paint_box (style=0x1362b2f00 [QtCurveStyle], window=0x1377f5cf0 [GdkPixmap], state_type=<optimized out>, shadow_type=<optimized out>, area=0x0, widget=0x1363319b0 [GtkProgressBar], detail=0x7ffec0299190 "bar", x=<optimized out>, y=0, width=107, height=23) at /var/tmp/portage/x11-libs/gtk+-2.24.32-r1/work/gtk+-2.24.32/gtk/gtkstyle.c:6207
#14 0x00007ffec026fe50 in QGtk2Painter::paintBox(_GtkWidget*, char const*, QRect const&, GtkStateType, GtkShadowType, _GtkStyle*, QString const&) (this=0x7ffec02b0d78 <QGtkStylePrivate::gtkPainter(QPainter*)::instance>, gtkWidget=0x1363319b0 [GtkProgressBar], part=0x7ffec0299190 "bar", paintRect=..., state=<optimized out>, shadow=<optimized out>, style=0x1362b2f00 [QtCurveStyle], pmKey=...) at /usr/include/qt5/QtCore/qrect.h:269
#15 0x00007ffec028b93c in QGtkStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (this=<optimized out>, element=<optimized out>, option=<optimized out>, painter=<optimized out>, widget=<optimized out>) at qgtkstyle.cpp:3504
#16 0x00007fffbce3b648 in QCommonStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (this=0x1360fe230, element=<optimized out>, opt=<optimized out>, p=0x7fffc0004fe8, widget=0x137819a90) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/styles/qcommonstyle.cpp:1515
#17 0x00007ffec028ba44 in QGtkStyle::drawControl(QStyle::ControlElement, QStyleOption const*, QPainter*, QWidget const*) const (this=0x1360fe230, element=<optimized out>, option=0x7fffc0005000, painter=0x7fffc0004fe8, widget=0x137819a90) at qgtkstyle.cpp:3510
#18 0x00007fffbcfb9744 in QStylePainter::drawControl(QStyle::ControlElement, QStyleOption const&) (opt=..., ce=QStyle::CE_ProgressBar, this=0x7fffc0004fe8) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/include/QtWidgets/../../src/widgets/styles/qstylepainter.h:85
#19 QProgressBar::paintEvent(QPaintEvent*) (this=0x137819a90) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/widgets/qprogressbar.cpp:410
#20 0x00007fffbcddc3b8 in QWidget::event(QEvent*) (this=0x137819a90, event=0x7fffc0005540) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qwidget.cpp:8814
#21 0x00007fffbcfbb2f8 in QProgressBar::event(QEvent*) (this=0x137819a90, e=0x7fffc0005540) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/widgets/qprogressbar.cpp:583
#22 0x00007fffbcd7b0f0 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x137819a90, e=0x7fffc0005540) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qapplication.cpp:3685
#23 0x00007fffbcd8a554 in QApplication::notify(QObject*, QEvent*) (this=0x7fffc0007298, receiver=0x137819a90, e=0x7fffc0005540) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qapplication.cpp:3635
#24 0x00007fffbbfe4b50 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x137819a90, event=0x7fffc0005540) at /var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2/src/corelib/kernel/qcoreapplication.cpp:1075
#25 0x00007fffbbfe4fc0 in QCoreApplication::sendSpontaneousEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2/src/corelib/kernel/qcoreapplication.cpp:1482
#26 0x00007fffbcdd1714 in QWidgetPrivate::sendPaintEvent(QRegion const&) (this=0x13637b220, toBePainted=...) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qwidget.cpp:5474
#27 0x00007fffbcdd2798 in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x13637b220, pdev=0x136cb1430, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qwidget.cpp:5424
#28 0x00007fffbcdd3754 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x1364748a0, pdev=0x136cb1430, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/include/QtCore/../../src/corelib/tools/qpoint.h:124
#29 0x00007fffbcdd2c4c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x1364748a0, pdev=0x136cb1430, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/include/QtCore/../../src/corelib/global/qflags.h:139
#30 0x00007fffbcdd3754 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x136bf6000, pdev=0x136cb1430, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/include/QtCore/../../src/corelib/tools/qpoint.h:124
#31 0x00007fffbcdd2c4c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x136bf6000, pdev=0x136cb1430, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/include/QtCore/../../src/corelib/global/qflags.h:139
#32 0x00007fffbcdd3754 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x136cc7c30, pdev=0x136cb1430, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/include/QtCore/../../src/corelib/tools/qpoint.h:124
#33 0x00007fffbcdd35d4 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x136cc7c30, pdev=0x136cb1430, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qwidget.cpp:5591
#34 0x00007fffbcdd2c4c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x136cc7c30, pdev=0x136cb1430, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/include/QtCore/../../src/corelib/global/qflags.h:139
#35 0x00007fffbcdd3754 in QWidgetPrivate::paintSiblingsRecursive(QPaintDevice*, QList<QObject*> const&, int, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x137734810, pdev=0x136cb1430, siblings=..., index=<optimized out>, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/include/QtCore/../../src/corelib/tools/qpoint.h:124
#36 0x00007fffbcdd2c4c in QWidgetPrivate::drawWidget(QPaintDevice*, QRegion const&, QPoint const&, QFlags<QWidgetPrivate::DrawWidgetFlag>, QPainter*, QWidgetRepaintManager*) (this=0x137734810, pdev=0x136cb1430, rgn=..., offset=..., flags=..., sharedPainter=0x0, repaintManager=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/include/QtCore/../../src/corelib/global/qflags.h:139
#37 0x00007fffbcd95e70 in QWidgetRepaintManager::paintAndFlush() (this=this@entry=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/corelib/tools/qpoint.h:122
#38 0x00007fffbcd9667c in QWidgetRepaintManager::sync() (this=0x13608d550) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qwidgetrepaintmanager.cpp:776
#39 0x00007fffbcdd3084 in QWidgetPrivate::syncBackingStore() (this=0x137734810) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qwidget.cpp:1765
#40 0x00007fffbcddca3c in QWidget::event(QEvent*) (this=0x1362c3770, event=<optimized out>) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qwidget.cpp:8978
#41 0x00007fffbcd7b0f0 in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x1362c3770, e=0x135997ee0) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qapplication.cpp:3685
#42 0x00007fffbcd8a554 in QApplication::notify(QObject*, QEvent*) (this=0x7fffc0007298, receiver=0x1362c3770, e=0x135997ee0) at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qapplication.cpp:3635
#43 0x00007fffbbfe4b50 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x1362c3770, event=0x135997ee0) at /var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2/src/corelib/kernel/qcoreapplication.cpp:1075
#44 0x00007fffbbfe4f74 in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2/src/corelib/kernel/qcoreapplication.cpp:1470
#45 0x00007fffbbfe9914 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x134337cf0) at /var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2/src/corelib/kernel/qcoreapplication.cpp:1815
#46 0x00007fffbbfe9f38 in QCoreApplication::sendPostedEvents(QObject*, int) (receiver=0x0, event_type=<optimized out>) at /var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2/src/corelib/kernel/qcoreapplication.cpp:1674
#47 0x00007fffbc06e808 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x13439d3e0) at /var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2/src/corelib/kernel/qeventdispatcher_glib.cpp:277
#48 0x00007fffb9046114 in g_main_dispatch (context=context@entry=0x7fffb0019230) at ../glib-2.64.4/glib/gmain.c:3309
#49 0x00007fffb904b2a8 in g_main_context_dispatch (context=0x7fffb0019230) at ../glib-2.64.4/glib/gmain.c:3974
#50 0x00007fffb904b4d8 in g_main_context_iterate (context=context@entry=0x7fffb0019230, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib-2.64.4/glib/gmain.c:4047
#51 0x00007fffb904b5e0 in g_main_context_iteration (context=0x7fffb0019230, may_block=<optimized out>) at ../glib-2.64.4/glib/gmain.c:4108
#52 0x00007fffbc06e400 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x1343af1d0, flags=...) at /var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2/src/corelib/kernel/qeventdispatcher_glib.cpp:423
#53 0x00007fffb5df8054 in QXcbGlibEventDispatcher::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /var/tmp/portage/dev-qt/qtgui-5.14.2-r1/work/qtbase-everywhere-src-5.14.2/src/plugins/platforms/xcb/qxcbeventdispatcher.cpp:143
#54 0x00007fffbbfe1ca8 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=<optimized out>, flags=...) at /usr/lib/gcc/powerpc64le-unknown-linux-gnu/9.3.0/include/g++-v9/bits/atomic_base.h:734
#55 0x00007fffbbfe2454 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7fffc0007128, flags=...) at /var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2/include/QtCore/../../src/corelib/global/qflags.h:136
#56 0x00007fffbbfef218 in QCoreApplication::exec() () at /var/tmp/portage/dev-qt/qtcore-5.14.2/work/qtbase-everywhere-src-5.14.2/include/QtCore/../../src/corelib/global/qflags.h:118
#57 0x00007fffbc5aa3ac in QGuiApplication::exec() () at /var/tmp/portage/dev-qt/qtgui-5.14.2-r1/work/qtbase-everywhere-src-5.14.2/src/gui/kernel/qguiapplication.cpp:1860
#58 0x00007fffbcd7b00c in QApplication::exec() () at /var/tmp/portage/dev-qt/qtwidgets-5.14.2/work/qtbase-everywhere-src-5.14.2/src/widgets/kernel/qapplication.cpp:2825
#59 0x00000001072443b0 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /var/tmp/portage/kde-plasma/systemsettings-5.19.5/work/systemsettings-5.19.5/app/main.cpp:168
[Inferior 1 (process 3185) detached]

Possible duplicates by query: bug 427919, bug 427915, bug 427910, bug 427709, bug 427444.

Reported using DrKonqi
Comment 1 Antonio Rojas 2020-10-19 09:31:02 UTC
You are using a qtcurve gtk2 style via qgtkstyle. That's a lot of layers of unmaintained software, no wonder you're having issues. Why don't you just use the qtcurve qt5 style directly?
Comment 2 Luke-Jr 2020-10-19 14:30:44 UTC
In fact, I am using QtCurve via Qt5 directly. I assume System Settings is trying to load QGtkStyle for a preview, which is in turn using the QtCurve GTK2 style because that's what I have configured for GTK2 applications to use.

I am trying to change from QtCurve to Plastique. QGtkStyle is only involved at all, because of the previews in System Settings.
Comment 3 Justin Zobel 2022-10-30 00:40:21 UTC
Thank you for reporting this crash in KDE software. As it has been a while since this issue was reported, can we please ask you to see if you can reproduce the crash with a recent software version?

If you can reproduce the issue, please change the status to "REPORTED" when replying. Thank you!
Comment 4 Luke-Jr 2022-10-30 00:59:28 UTC
Yep, still hasn't been fixed...