Version: (using KDE 4.3.0) OS: Linux Installed from: SuSE RPMs Konversation crashed after switching the encoding to ucs2/utf16, and then sending some text the text i sent was "äöü" crashlog: Application: Konversation (konversation), signal: Segmentation fault [Current thread is 0 (LWP 12196)] Thread 2 (Thread 0xb3575b90 (LWP 12200)): #0 0xffffe430 in __kernel_vsyscall () #1 0xb6b2ac15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/libpthread.so.0 #2 0xb6b885a2 in QWaitCondition::wait () from /usr/lib/libQtCore.so.4 #3 0xb74b71f2 in ?? () from /usr/lib/libQtNetwork.so.4 #4 0xb6b87592 in ?? () from /usr/lib/libQtCore.so.4 #5 0xb6b27175 in start_thread () from /lib/libpthread.so.0 #6 0xb6006dae in clone () from /lib/libc.so.6 Thread 1 (Thread 0xb56a16d0 (LWP 12196)): [KCrash Handler] #5 0x08139396 in Konversation::OutputFilter::checkForEncodingConflict () #6 0x08145fa0 in Konversation::OutputFilter::parse () #7 0x080ef521 in Channel::sendChannelText () #8 0x080f2937 in Channel::channelTextEntered () #9 0x080fda4d in Channel::qt_metacall () #10 0xb6c90e08 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #11 0xb6c91a92 in QMetaObject::activate () from /usr/lib/libQtCore.so.4 #12 0x08159709 in IRCInput::submit () #13 0x0815b337 in IRCInput::keyPressEvent () #14 0xb6318363 in QWidget::event () from /usr/lib/libQtGui.so.4 #15 0xb66a9ad3 in QFrame::event () from /usr/lib/libQtGui.so.4 #16 0xb674aa7d in QAbstractScrollArea::event () from /usr/lib/libQtGui.so.4 #17 0xb673422e in QTextEdit::event () from /usr/lib/libQtGui.so.4 #18 0xb734a3f3 in KTextEdit::event () from /usr/lib/libkdeui.so.5 #19 0x08159998 in IRCInput::event () #20 0xb62c16ac in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4 #21 0xb62caa8b in QApplication::notify () from /usr/lib/libQtGui.so.4 #22 0xb723a31d in KApplication::notify () from /usr/lib/libkdeui.so.5 #23 0xb6c7b6cb in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4 #24 0xb62c259e in ?? () from /usr/lib/libQtGui.so.4 #25 0xb635ea80 in ?? () from /usr/lib/libQtGui.so.4 #26 0xb6360c4e in ?? () from /usr/lib/libQtGui.so.4 #27 0xb6337ae4 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4 #28 0xb63626ec in ?? () from /usr/lib/libQtGui.so.4 #29 0xb5bf52f9 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #30 0xb5bf887b in ?? () from /usr/lib/libglib-2.0.so.0 #31 0xb5bf89f8 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #32 0xb6ca7008 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4 #33 0xb6361db5 in ?? () from /usr/lib/libQtGui.so.4 #34 0xb6c79d0a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4 #35 0xb6c7a152 in QEventLoop::exec () from /usr/lib/libQtCore.so.4 #36 0xb6c7c5d9 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4 #37 0xb62c1527 in QApplication::exec () from /usr/lib/libQtGui.so.4 #38 0x080a0df2 in main ()
> konversation --version Qt: 4.5.3 KDE: 4.3.63 (KDE 4.3.63 (KDE 4.4 >= 20090805)) "release 2" Konversation: 1.2-alpha6
I can confirm this. By reverting the imporoper codec warning dialog it still crashes. The following is a better backtrace than the above (with the warning dialog reverted): Application: Konversation (konversation), signal: Segmentation fault [Current thread is 0 (LWP 24309)] Thread 2 (Thread 0xb34d7b90 (LWP 24311)): #0 0xb7f51430 in __kernel_vsyscall () #1 0xb5cb70e5 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0xb601f2ed in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6 #3 0xb6baa172 in QWaitCondition::wait (this=0xa1e7d28, mutex=0xa1e7d24, time=4294967295) at thread/qwaitcondition_unix.cpp:87 #4 0xb74ceac2 in QHostInfoAgent::run (this=0xa1e7d18) at kernel/qhostinfo.cpp:260 #5 0xb6ba9132 in QThreadPrivate::start (arg=0xa1e7d18) at thread/qthread_unix.cpp:188 #6 0xb5cb34ff in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #7 0xb601049e in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 1 (Thread 0xb56af700 (LWP 24309)): [KCrash Handler] #6 QTextCodec::fromUnicode (this=0x0, str=@0xbf96ba18) at codecs/qtextcodec.cpp:1189 #7 0x080d5281 in Server::_send_internal (this=0xa10f8c8, outputLine= {static null = {<No data fields>}, static shared_null = {ref = {_q_value = 8951}, alloc = 0, size = 0, data = 0x826b822, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, static shared_empty = {ref = {_q_value = 261}, alloc = 0, size = 0, data = 0xb6d9146e, clean = 0, simpletext = 0, righttoleft = 0, asciiCache = 0, capacity = 0, reserved = 0, array = {0}}, d = 0xbf96ba18, static codecForCStrings = 0x0}) at /home/word/Packages/konvi-test/src/irc/server.cpp:1174 #8 0x080d5c0f in Server::toServer (this=0xa10f8c8, s=@0xbf96ba48, q=0x9e9bc48) at /home/word/Packages/konvi-test/src/irc/server.cpp:1232 #9 0x081485ed in IRCQueue::doSend (this=0x9e9bc48) at /home/word/Packages/konvi-test/src/irc/ircqueue.cpp:172 #10 0x08148632 in IRCQueue::sendNow (this=0x9e9bc48) at /home/word/Packages/konvi-test/src/irc/ircqueue.cpp:195 #11 0x081486f0 in IRCQueue::qt_metacall (this=0x9e9bc48, _c=QMetaObject::InvokeMetaMethod, _id=-1080641000, _a=0xbf96bb08) at /home/word/Packages/konvi-test/build/src/ircqueue.moc:71 #12 0xb6cb31b8 in QMetaObject::activate (sender=0xa10f448, from_signal_index=4, to_signal_index=4, argv=0x0) at kernel/qobject.cpp:3113 #13 0xb6cb3e42 in QMetaObject::activate (sender=0xa10f448, m=0xb6d90904, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3187 #14 0xb6cef687 in QTimer::timeout (this=0xa10f448) at .moc/release-shared/moc_qtimer.cpp:128 #15 0xb6cb95ce in QTimer::timerEvent (this=0xa10f448, e=0xbf96bf8c) at kernel/qtimer.cpp:261 #16 0xb6cae16f in QObject::event (this=0xa10f448, e=0xbf96bf8c) at kernel/qobject.cpp:1075 #17 0xb62d4d3c in QApplicationPrivate::notify_helper (this=0x9dae568, receiver=0xa10f448, e=0xbf96bf8c) at kernel/qapplication.cpp:4056 #18 0xb62dd03e in QApplication::notify (this=0xbf96c220, receiver=0xa10f448, e=0xbf96bf8c) at kernel/qapplication.cpp:3603 #19 0xb72525cd in KApplication::notify (this=0xbf96c220, receiver=0xa10f448, event=0xbf96bf8c) at /build/buildd/kde4libs-4.3.0/kdeui/kernel/kapplication.cpp:302 #20 0xb6c9dbcb in QCoreApplication::notifyInternal (this=0xbf96c220, receiver=0xa10f448, event=0xbf96bf8c) at kernel/qcoreapplication.cpp:610 #21 0xb6cccd51 in QTimerInfoList::activateTimers (this=0x9db06b4) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:213 #22 0xb6cc93a0 in timerSourceDispatch (source=0x9db0680) at kernel/qeventdispatcher_glib.cpp:165 #23 0xb5b87b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0 #24 0xb5b8b0eb in ?? () from /usr/lib/libglib-2.0.so.0 #25 0xb5b8b268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0 #26 0xb6cc92f8 in QEventDispatcherGlib::processEvents (this=0x9d8ccd8, flags={i = -1080639224}) at kernel/qeventdispatcher_glib.cpp:327 #27 0xb6376a75 in QGuiEventDispatcherGlib::processEvents (this=0x9d8ccd8, flags={i = -1080639176}) at kernel/qguieventdispatcher_glib.cpp:202 #28 0xb6c9c1fa in QEventLoop::processEvents (this=0xbf96c1b0, flags={i = -1080639112}) at kernel/qeventloop.cpp:149 #29 0xb6c9c642 in QEventLoop::exec (this=0xbf96c1b0, flags={i = -1080639048}) at kernel/qeventloop.cpp:201 #30 0xb6c9eae9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #31 0xb62d4bb7 in QApplication::exec () at kernel/qapplication.cpp:3525 #32 0x080a0c92 in main (argc=3, argv=0xbf96c5e4) at /home/word/Packages/konvi-test/src/main.cpp:101
SVN commit 1010563 by tjmchenry: Use isChecked in channellistpanel instead of checkedState() *facepalm* Remove ucs2 because it's a duplicate of UTF-16 Because utf-16 is already removed, during the shortname->codec conversion no codec is found for ucs2, resulting in a null codec, and a crash. I tried to protect the pointer so this doesn't happen in the future..lemme know if i embarassed myself BUG:203583 M +3 -3 channellistpanel.cpp M +2 -0 irccharsets.cpp M +7 -3 outputfilter.cpp M +9 -3 server.cpp WebSVN link: http://websvn.kde.org/?view=rev&revision=1010563