Bug 478977 - Plasma crashed in QSortFilterProxyModelPrivate::_q_sourceHeaderDataChanged() after updating display settings
Summary: Plasma crashed in QSortFilterProxyModelPrivate::_q_sourceHeaderDataChanged() ...
Status: RESOLVED WORKSFORME
Alias: None
Product: plasmashell
Classification: Plasma
Component: generic-crash (show other bugs)
Version: master
Platform: Neon Linux
: NOR crash
Target Milestone: 1.0
Assignee: Plasma Bugs List
URL:
Keywords: drkonqi, qt6
Depends on:
Blocks:
 
Reported: 2023-12-24 22:59 UTC by Oded Arbel
Modified: 2024-01-16 13:18 UTC (History)
3 users (show)

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


Attachments
New crash information added by DrKonqi (111.60 KB, text/plain)
2023-12-24 22:59 UTC, Oded Arbel
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Oded Arbel 2023-12-24 22:59:39 UTC
Application: plasmashell (5.91.90)

Qt Version: 6.6.1
Frameworks Version: 5.248.0
Operating System: Linux 6.2.0-37-generic x86_64
Windowing System: Wayland
Distribution: KDE neon Unstable Edition
DrKonqi: 5.91.90 [CoredumpBackend]

-- Information about the crash:
After updating the display settings, Plasma shell crashed.

The reporter is unsure if this crash is reproducible.

-- Backtrace (Reduced):
#6  QSortFilterProxyModelPrivate::_q_sourceHeaderDataChanged(Qt::Orientation, int, int) (this=<optimized out>, orientation=Qt::Vertical, start=<optimized out>, end=<optimized out>) at ./src/corelib/itemmodels/qsortfilterproxymodel.cpp:1554
#7  0x00007f763ec2767e in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffe41ab87e0, r=0x559013f2c0d0, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:433
#8  doActivate<false>(QObject*, int, void**) (sender=0x559013f2f0f0, signal_index=5, argv=0x7ffe41ab87e0) at ./src/corelib/kernel/qobject.cpp:4021
#9  0x00007f763eacc6ea in QAbstractItemModel::headerDataChanged(Qt::Orientation, int, int) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at ./obj-x86_64-linux-gnu/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:1328
#10 0x00007f763ebc8782 in QObject::event(QEvent*) (this=0x559013f2f0f0, e=0x559013f40600) at ./src/corelib/kernel/qobject.cpp:1437


Reported using DrKonqi
Comment 1 Oded Arbel 2023-12-24 22:59:41 UTC
Created attachment 164430 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Oded Arbel 2024-01-04 19:18:04 UTC
My display configuration does indeed feature a "portrait mode" screen.
Comment 3 fanzhuyifan 2024-01-04 21:51:33 UTC
(In reply to Oded Arbel from comment #2)
> My display configuration does indeed feature a "portrait mode" screen.

The backtrace seems somewhat different from that in 478990 though..
Comment 4 Nate Graham 2024-01-11 17:52:24 UTC
Thread 1 (Thread 0x7f7639fd3ac0 (LWP 48647)):
[KCrash Handler]
#6  QSortFilterProxyModelPrivate::_q_sourceHeaderDataChanged(Qt::Orientation, int, int) (this=<optimized out>, orientation=Qt::Vertical, start=<optimized out>, end=<optimized out>) at ./src/corelib/itemmodels/qsortfilterproxymodel.cpp:1554
#7  0x00007f763ec2767e in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffe41ab87e0, r=0x559013f2c0d0, this=<optimized out>, this=<optimized out>, r=<optimized out>, a=<optimized out>) at ./src/corelib/kernel/qobjectdefs_impl.h:433
#8  doActivate<false>(QObject*, int, void**) (sender=0x559013f2f0f0, signal_index=5, argv=0x7ffe41ab87e0) at ./src/corelib/kernel/qobject.cpp:4021
#9  0x00007f763eacc6ea in QAbstractItemModel::headerDataChanged(Qt::Orientation, int, int) (this=<optimized out>, _t1=<optimized out>, _t2=<optimized out>, _t3=<optimized out>) at ./obj-x86_64-linux-gnu/src/corelib/Core_autogen/include/moc_qabstractitemmodel.cpp:1328
#10 0x00007f763ebc8782 in QObject::event(QEvent*) (this=0x559013f2f0f0, e=0x559013f40600) at ./src/corelib/kernel/qobject.cpp:1437
#11 0x00007f7640bf1bcb in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x559013f2f0f0, e=0x559013f40600) at ./src/widgets/kernel/qapplication.cpp:3296
#12 0x00007f763ec5fd88 in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x559013f2f0f0, event=event@entry=0x559013f40600) at ./src/corelib/kernel/qcoreapplication.cpp:1121
#13 0x00007f763ec5fdcd in QCoreApplication::sendEvent(QObject*, QEvent*) (receiver=<optimized out>, event=event@entry=0x559013f40600) at ./src/corelib/kernel/qcoreapplication.cpp:1539
#14 0x00007f763ec604a0 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x559006a9e550) at ./src/corelib/kernel/qcoreapplication.cpp:1901
#15 0x00007f763eb079f7 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=0x559006b4aaa0) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:243
#16 0x00007f763d3c3d3b in g_main_context_dispatch () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f763d419258 in  () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#18 0x00007f763d3c13e3 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#19 0x00007f763eb05790 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x559006aa7da0, flags=...) at ./src/corelib/kernel/qeventdispatcher_glib.cpp:393
#20 0x00007f763ec61fbb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffe41ab8bf0, flags=..., flags@entry=...) at ./src/corelib/global/qflags.h:34
#21 0x00007f763ec63bec in QCoreApplication::exec() () at ./src/corelib/global/qflags.h:74
#22 0x00007f763f0ea1a0 in QGuiApplication::exec() () at ./src/gui/kernel/qguiapplication.cpp:1925
#23 0x00007f7640bef139 in QApplication::exec() () at ./src/widgets/kernel/qapplication.cpp:2574
#24 0x000055900572b964 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at ./shell/main.cpp:214
Comment 5 Nate Graham 2024-01-11 17:54:13 UTC
The backtrace looks the same as the one in Bug 476951, but the triggering conditions appear to be different.

Where exactly were you changing the display settings? And do you have more than one virtual desktop?
Comment 6 Oded Arbel 2024-01-11 18:31:50 UTC
(In reply to Nate Graham from comment #5)
> The backtrace looks the same as the one in Bug 476951, but the triggering
> conditions appear to be different.

Indeed, though I am not exactly sure what I did to cause the crash and it didn't reproduce for me.

> Where exactly were you changing the display settings?

Using the display configuration KCM. IIRC I was moving the vertical screen around, and turning it on and off to try to solve a hardware issue.

> And do you have more than one virtual desktop?

I do. This specific setup is a main horizontal screen (laptop's built in) and an external vertical screen, set up with 6 virtual desktops in 2 rows and 3 activities.
Comment 7 Nate Graham 2024-01-12 21:44:34 UTC
Thanks for the info.
Comment 8 Marco Martin 2024-01-16 11:03:52 UTC
what would be interesting is to discover exactly what model in what plasmoid crashes (perhaps removing plasmoids until it doesn't crash might tell it)
Comment 9 Oded Arbel 2024-01-16 13:18:26 UTC
I currently cannot reproduce and its been a while since it last spontaneously crashed. 

I'm now on RC1, so I'm going to leave this closed for now and will reopen if I manage a reproducer.

If this was a plasmoid issue, then the most likely candidate IMO is the weather widget that was completely broken on Plasma 6.0 betas, but now it works fine.