Bug 497799 - konversation crash at start
Summary: konversation crash at start
Status: RESOLVED FIXED
Alias: None
Product: konversation
Classification: Applications
Component: general (show other bugs)
Version: 1.10.24120
Platform: Debian unstable Linux
: NOR crash
Target Milestone: ---
Assignee: argonel
URL:
Keywords: drkonqi
Depends on:
Blocks:
 
Reported: 2024-12-22 21:52 UTC by Salvo "LtWorf" Tomaselli
Modified: 2024-12-24 07:28 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In:
Sentry Crash Report: https://crash-reports.kde.org/organizations/kde/issues/110498/events/e22cf38ae4c443eca2e86da291bcbecf/


Attachments
configuration that causes a crash (676 bytes, text/plain)
2024-12-23 07:52 UTC, Salvo "LtWorf" Tomaselli
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Salvo "LtWorf" Tomaselli 2024-12-22 21:52:07 UTC
Application: konversation (1.10.24120)

ApplicationNotResponding [ANR]: false
Qt Version: 6.7.2
Frameworks Version: 6.8.0
Operating System: Linux 6.12.6-amd64 x86_64
Windowing System: X11
Distribution: Debian GNU/Linux trixie/sid
DrKonqi: 6.2.4 [KCrashBackend]

-- Information about the crash:
While it tries to connect to some server, it crashes.

It connects to irc.nlnog.net and then crashes.

The crash can be reproduced every time.

-- Backtrace:
Application: Konversation (konversation), signal: Segmentation fault

[KCrash Handler]
#4  0x00007f54aea4fcc0 in QtPrivate::QStringList_join(QList<QString> const*, QChar const*, long long) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#5  0x0000561e7abf3d3e in QListSpecialMethods<QString>::join (this=0x7ffc4ff7af90, sep=...) at /usr/include/x86_64-linux-gnu/qt6/QtCore/qstringlist.h:94
#6  NicksOnline::refreshAllServerOnlineLists (this=0x561eb1692aa0) at ./src/irc/nicksonline.cpp:485
#7  0x00007f54ae9d5aef in ??? () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#8  0x00007f54ae9d82ce in QTimer::timeout(QTimer::QPrivateSignal) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#9  0x00007f54ae9c7f99 in QObject::event(QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#10 0x00007f54af9b20a2 in QApplicationPrivate::notify_helper(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Widgets.so.6
#11 0x00007f54ae987928 in QCoreApplication::notifyInternal2(QObject*, QEvent*) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#12 0x00007f54aeacb69a in QTimerInfoList::activateTimers() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#13 0x00007f54aeb8e82c in ??? () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#14 0x00007f54ad53181f in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#15 0x00007f54ad533a57 in ??? () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#16 0x00007f54ad5341c0 in g_main_context_iteration () at /lib/x86_64-linux-gnu/libglib-2.0.so.0
#17 0x00007f54aeb8c473 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#18 0x00007f54ae992adb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#19 0x00007f54ae98a908 in QCoreApplication::exec() () at /lib/x86_64-linux-gnu/libQt6Core.so.6
#20 0x0000561e7aaff33d in main (argc=<optimized out>, argv=<optimized out>) at ./src/main.cpp:137
[Inferior 1 (process 10584) detached]

Reported using DrKonqi
Comment 1 Salvo "LtWorf" Tomaselli 2024-12-23 07:13:23 UTC
It seems to not depend on the connection to the server itself but on the configuration file. Removing it seems to fix the problem.
Comment 2 argonel 2024-12-23 07:44:46 UTC
It seems to be related to the "Watched Nicks Online" view, was that configured to open automatically on launch?
Comment 3 Salvo "LtWorf" Tomaselli 2024-12-23 07:52:24 UTC
Created attachment 176838 [details]
configuration that causes a crash
Comment 4 Salvo "LtWorf" Tomaselli 2024-12-23 07:53:40 UTC
Yes it's related, in the minimal configuration I manage to reproduce it, it needs to be shown on start, the 1st server needs to fail to resolve and the fallback server needs to work (I'm running localslackirc locally on that port).
Comment 5 argonel 2024-12-23 08:40:53 UTC
Looks like the fallback doesn't need to work, I was able to reproduce with that config file unchanged. Thanks for narrowing this down!
Comment 6 argonel 2024-12-24 01:23:35 UTC
Git commit 5da1a32c95f24ea5743ff932f320a6cbc55beaab by Eli MacKenzie.
Committed on 24/12/2024 at 01:12.
Pushed by argonel into branch 'release/24.12'.

Prevent crash when updating Watched Nicks

Rather than trying to keep valid a cached copy of the end iterator,
just fetch a new one every time.
(cherry picked from commit da2855a31cf056d3257c2a0684f844c574610e7a)

M  +1    -2    src/irc/nicksonline.cpp

https://invent.kde.org/network/konversation/-/commit/5da1a32c95f24ea5743ff932f320a6cbc55beaab
Comment 7 argonel 2024-12-24 01:23:43 UTC
Git commit da2855a31cf056d3257c2a0684f844c574610e7a by Eli MacKenzie.
Committed on 24/12/2024 at 01:09.
Pushed by argonel into branch 'master'.

Prevent crash when updating Watched Nicks

Rather than trying to keep valid a cached copy of the end iterator,
just fetch a new one every time.

M  +1    -2    src/irc/nicksonline.cpp

https://invent.kde.org/network/konversation/-/commit/da2855a31cf056d3257c2a0684f844c574610e7a
Comment 8 Salvo "LtWorf" Tomaselli 2024-12-24 07:28:15 UTC
Thanks for the quick fix. I've applied it in debian so it won't crash even before you do your next point release.