Bug 199115 - Nick completition with empty nick list causes sigsegv
Summary: Nick completition with empty nick list causes sigsegv
Status: RESOLVED FIXED
Alias: None
Product: konversation
Classification: Applications
Component: general (show other bugs)
Version: 1.2-alpha4
Platform: Compiled Sources Other
: NOR crash
Target Milestone: ---
Assignee: Konversation Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-07-06 09:01 UTC by Piotr Budny
Modified: 2009-07-12 01:00 UTC (History)
1 user (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Piotr Budny 2009-07-06 09:01:14 UTC
Version:           1.2-alpha4 (using KDE 4.2.4)
Compiler:          gcc-4.4.0-3.i686 
OS:                Other
Installed from:    Compiled From Sources

When connecting to IRC network tunnelled with miau (.sf.net) it downloads a lot of irc protocol messages. 

The list with nicks is generated on the end of communication, and even the nicks are displayed, a quick user can press <letter><tab> and autocomplete will fail and konversation will SIGSEGV.

Thread 1 (Thread 0xb5687730 (LWP 16495)):
[KCrash Handler]
#6  0x08106a99 in Nick::getChannelNick() const ()
#7  0x080e4a85 in Channel::completeNick() ()
#8  0x080eda14 in Channel::qt_metacall(QMetaObject::Call, int, void**) ()
#9  0xb6d37fb9 in QMetaObject::activate(QObject*, int, int, void**) () from /usr/lib/libQtCore.so.4
#10 0xb6d38bbc in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/libQtCore.so.4
#11 0x08148847 in IRCInput::nickCompletion() ()
#12 0x0814a0b8 in IRCInput::keyPressEvent(QKeyEvent*) ()
#13 0xb63f4061 in QWidget::event(QEvent*) () from /usr/lib/libQtGui.so.4
#14 0xb67a7f73 in QFrame::event(QEvent*) () from /usr/lib/libQtGui.so.4
#15 0xb683e7aa in QAbstractScrollArea::event(QEvent*) () from /usr/lib/libQtGui.so.4
#16 0xb6829597 in QTextEdit::event(QEvent*) () from /usr/lib/libQtGui.so.4
#17 0xb735e277 in KTextEdit::event(QEvent*) () from /usr/lib/libkdeui.so.5
#18 0x0814898c in IRCInput::event(QEvent*) ()
Comment 1 Eike Hein 2009-07-06 18:27:23 UTC
To clarify, with "and even the nicks are displayed" you meant "and before the nicks are displayed"?
Comment 2 Piotr Budny 2009-07-06 19:05:43 UTC
Pressing tab causes SIGSEGV up to few seconds after connection. When nick list is empty, it is 100% reproductable. But I've noticed few times with empty channel nick list (maybe it seemed like filled up, because it sometimes displays different channel's list before full sync).
Comment 3 Eike Hein 2009-07-06 19:56:59 UTC
Sorry, but you're being vague again.

"When nick list is empty, it is 100% reproductable. But I've noticed few times with empty channel nick list [...]"

The "But" at the start of the second sentence makes it sound like the second sentence describes a case distinct from the first sentence, although they appear to describe the same case as far as their content is concerned. This leads me to believe you might have forgotten a negation in the second sentence, such as "with non-empty channel nick list", but I can't be sure.

Hence, let me ask again: Are you seeing this crash only when trying to perform tab completion in a channel with an empty nicklist, before it is filled, or also with any nicks in the nicklist?
Comment 4 Piotr Budny 2009-07-06 20:21:12 UTC
Sorry, second case should be "with non-empty channel..". For now, I can't reproduce that.
Comment 5 Eike Hein 2009-07-06 20:42:08 UTC
Ok, thank you - we'll look into it!
Comment 6 Peter Simonsson 2009-07-12 01:00:32 UTC
SVN commit 995091 by psn:

Check if the nicknameList is empty before trying to complete a nick.
BUG: 199115


 M  +1 -1      channel.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=995091