| Summary: | segfault when using encoding ucs2/utf16 | ||
|---|---|---|---|
| Product: | [Applications] konversation | Reporter: | Johannes E. Krause <j.k> |
| Component: | general | Assignee: | Konversation Bugs <konversation-bugs-null> |
| Status: | RESOLVED FIXED | ||
| Severity: | crash | CC: | wordsizzle |
| Priority: | NOR | ||
| Version First Reported In: | unspecified | ||
| Target Milestone: | --- | ||
| Platform: | openSUSE | ||
| OS: | Linux | ||
| Latest Commit: | Version Fixed/Implemented In: | ||
| Sentry Crash Report: | |||
|
Description
Johannes E. Krause
2009-08-12 17:18:19 UTC
> 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 |