Bug 487952

Summary: Konqueror crashes on session restore
Product: [Applications] konqueror Reporter: Kevin Wolf <kwolf>
Component: generalAssignee: Konqueror Bugs <konqueror-bugs-null>
Status: RESOLVED FIXED    
Severity: crash CC: stefano.crocco
Priority: NOR Keywords: drkonqi
Version First Reported In: 24.02.2   
Target Milestone: ---   
Platform: Fedora RPMs   
OS: Linux   
Latest Commit: Version Fixed/Implemented In:
Sentry Crash Report:
Attachments: New crash information added by DrKonqi

Description Kevin Wolf 2024-06-03 09:33:50 UTC
Application: konqueror (24.02.2)

Qt Version: 6.7.1
Frameworks Version: 6.2.0
Operating System: Linux 6.8.10-300.fc40.x86_64 x86_64
Windowing System: X11
Distribution: "Fedora Linux 40 (Forty)"
DrKonqi: 6.0.5 [CoredumpBackend]

-- Information about the crash:
I configured KDE so that when I log in it should restore all applications that were running on the last logout. Since I upgraded to Fedora 40 (and reverted to X11 to have session restore working at all), every time I have Konqueror running when logging out, it is restarted after login and then crashes immediately, presumably while trying to restore the state of the open tabs (something like between one and three tabs).

The crash can be reproduced every time.

-- Backtrace (Reduced):
#5  QString::compare (cs=Qt::CaseSensitive, this=0x7f006373696d, s=...) at /usr/include/qt6/QtCore/qstring.h:1444
#6  compareEntryKeyViews<KEntryKey, KEntryKeyView> (k1=..., k2=...) at /usr/src/debug/kf6-kconfig-6.2.0-1.fc40.x86_64/src/core/kconfigdata_p.h:196
#7  operator< (k1=..., k2=...) at /usr/src/debug/kf6-kconfig-6.2.0-1.fc40.x86_64/src/core/kconfigdata_p.h:219
#8  KEntryKeyCompare::operator() (this=0x7f0918004050, k1=..., k2=...) at /usr/src/debug/kf6-kconfig-6.2.0-1.fc40.x86_64/src/core/kconfigdata_p.h:243
#9  std::_Rb_tree<KEntryKey, std::pair<KEntryKey const, KEntry>, std::_Select1st<std::pair<KEntryKey const, KEntry> >, KEntryKeyCompare, std::allocator<std::pair<KEntryKey const, KEntry> > >::_M_lower_bound_tr<KEntryKeyView, void> (this=0x7f0918004050, __k=...) at /usr/include/c++/14/bits/stl_tree.h:1334


Reported using DrKonqi
Comment 1 Kevin Wolf 2024-06-03 09:33:51 UTC
Created attachment 170081 [details]
New crash information added by DrKonqi

DrKonqi auto-attaching complete backtrace.
Comment 2 Bug Janitor Service 2024-08-01 09:20:15 UTC
A possibly relevant merge request was started @ https://invent.kde.org/network/konqueror/-/merge_requests/353
Comment 3 Stefano Crocco 2024-08-01 09:23:22 UTC
Debugging crashes on session load is difficult, so I haven't been able to find the cause of the problem. However, I found a workaround which seems to prevent the crash. It needs a bit more testing, however, to make sure it actually works and it doesn't break something else.
Comment 4 Stefano Crocco 2024-08-04 07:14:36 UTC
Git commit bc24fd2f95113dce7540da0f2cb02dc8737dd4da by Stefano Crocco.
Committed on 04/08/2024 at 07:10.
Pushed by stefanocrocco into branch 'master'.

Avoid crash when restoring the session after a logout

M  +0    -23   src/konqview.cpp
M  +0    -1    src/konqview.h
M  +15   -6    src/konqviewmanager.cpp

https://invent.kde.org/network/konqueror/-/commit/bc24fd2f95113dce7540da0f2cb02dc8737dd4da
Comment 5 Stefano Crocco 2024-08-04 07:38:00 UTC
Git commit f59fdea2e137dd7e30ecf1e1d80a108d6e3b9468 by Stefano Crocco.
Committed on 04/08/2024 at 07:32.
Pushed by stefanocrocco into branch 'release/24.08'.

Avoid crash when restoring the session after a logout


(cherry picked from commit bc24fd2f95113dce7540da0f2cb02dc8737dd4da)

Co-authored-by: Stefano Crocco <stefano.crocco@alice.it>

M  +0    -23   src/konqview.cpp
M  +0    -1    src/konqview.h
M  +15   -6    src/konqviewmanager.cpp

https://invent.kde.org/network/konqueror/-/commit/f59fdea2e137dd7e30ecf1e1d80a108d6e3b9468