Application that crashed: konversation Version of the application: 1.2 KDE Version: 4.3.2 (KDE 4.3.2) Qt Version: 4.5.2 Operating System: Linux 2.6.31-14-generic i686 Distribution: Ubuntu 9.10 What I was doing when the application crashed: Just pressed the x button on the title bar, which normally would minimize konversation to the system tray. I have two servers connected, one using ssl. Happens always. -- Backtrace: Application: Konversation (konversation), signal: Segmentation fault [Current thread is 1 (Thread 0xb78c4760 (LWP 10298))] Thread 3 (Thread 0xb60f2b70 (LWP 10299)): #0 0x003b9422 in __kernel_vsyscall () #1 0x00f6be15 in pthread_cond_wait@@GLIBC_2.3.2 () from /lib/tls/i686/cmov/libpthread.so.0 #2 0x06d6878d in pthread_cond_wait () from /lib/tls/i686/cmov/libc.so.6 #3 0x0556fe67 in QWaitConditionPrivate::wait (this=0x9031c30, mutex=0x9031c2c, time=4294967295) at thread/qwaitcondition_unix.cpp:87 #4 QWaitCondition::wait (this=0x9031c30, mutex=0x9031c2c, time=4294967295) at thread/qwaitcondition_unix.cpp:159 #5 0x00b72922 in QHostInfoAgent::run (this=0x9031c20) at kernel/qhostinfo.cpp:260 #6 0x0556ee32 in QThreadPrivate::start (arg=0x9031c20) at thread/qthread_unix.cpp:188 #7 0x00f6780e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #8 0x06d5b7ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 2 (Thread 0xb56ffb70 (LWP 10300)): #0 0x003b9422 in __kernel_vsyscall () #1 0x06d54981 in select () from /lib/tls/i686/cmov/libc.so.6 #2 0x0563daf5 in QProcessManager::run (this=0x8c1cde0) at io/qprocess_unix.cpp:296 #3 0x0556ee32 in QThreadPrivate::start (arg=0x8c1cde0) at thread/qthread_unix.cpp:188 #4 0x00f6780e in start_thread () from /lib/tls/i686/cmov/libpthread.so.0 #5 0x06d5b7ee in clone () from /lib/tls/i686/cmov/libc.so.6 Thread 1 (Thread 0xb78c4760 (LWP 10298)): [KCrash Handler] #6 QIODevice::d_func (this=0x0, data=0x8d40a10 "QUIT :Konversation terminated!\n", maxSize=31) at ../../include/QtCore/../../src/corelib/io/qiodevice.h:167 #7 QIODevice::write (this=0x0, data=0x8d40a10 "QUIT :Konversation terminated!\n", maxSize=31) at io/qiodevice.cpp:1207 #8 0x080d3c93 in Server::_send_internal (this=0x8f64108, outputLine=...) at /build/buildd/konversation-1.2/src/irc/server.cpp:1207 #9 0x080d460f in Server::toServer (this=0x8f64108, s=..., q=0x8f6ba90) at /build/buildd/konversation-1.2/src/irc/server.cpp:1218 #10 0x08156493 in IRCQueue::doSend (this=0x8f6ba90) at /build/buildd/konversation-1.2/src/irc/ircqueue.cpp:161 #11 0x081564e2 in IRCQueue::sendNow (this=0x8f6ba90) at /build/buildd/konversation-1.2/src/irc/ircqueue.cpp:184 #12 0x080d1985 in Server::flushQueues (this=0x8f64108) at /build/buildd/konversation-1.2/src/irc/server.cpp:1290 #13 0x080e0634 in Server::quitServer (this=0x8f64108) at /build/buildd/konversation-1.2/src/irc/server.cpp:723 #14 0x080b3b13 in ConnectionManager::quitServers (this=0x8c15b58) at /build/buildd/konversation-1.2/src/connectionmanager.cpp:235 #15 0x08086238 in Application::prepareShutdown (this=0xbff209b0) at /build/buildd/konversation-1.2/src/application.cpp:249 #16 0x080a2500 in MainWindow::queryClose (this=0x8c26128) at /build/buildd/konversation-1.2/src/mainwindow.cpp:599 #17 0x012807e1 in KMainWindow::closeEvent (this=0x8c26128, e=0xbff1f0c8) at ../../kdeui/widgets/kmainwindow.cpp:588 #18 0x025d9a06 in QWidget::event (this=0x8c26128, event=0xbff1f0c8) at kernel/qwidget.cpp:7699 #19 0x029a7297 in QMainWindow::event (this=0x8c26128, event=0xbff1f0c8) at widgets/qmainwindow.cpp:1399 #20 0x0127ddc4 in KMainWindow::event (this=0x8c26128, ev=0xbff1f0c8) at ../../kdeui/widgets/kmainwindow.cpp:1094 #21 0x012c430f in KXmlGuiWindow::event (this=0x8c26128, ev=0xbff1f0c8) at ../../kdeui/xmlgui/kxmlguiwindow.cpp:131 #22 0x02584f54 in QApplicationPrivate::notify_helper (this=0x8c26868, receiver=0x8c26128, e=0xbff1f0c8) at kernel/qapplication.cpp:4056 #23 0x0258c5ca in QApplication::notify (this=0xbff209b0, receiver=0x8c26128, e=0xbff1f0c8) at kernel/qapplication.cpp:4021 #24 0x01197bfa in KApplication::notify (this=0xbff209b0, receiver=0x8c26128, event=0xbff1f0c8) at ../../kdeui/kernel/kapplication.cpp:302 #25 0x0565f6cb in QCoreApplication::notifyInternal (this=0xbff209b0, receiver=0x8c26128, event=0xbff1f0c8) at kernel/qcoreapplication.cpp:610 #26 0x025df5d6 in QCoreApplication::sendSpontaneousEvent (this=0x8d25a50, mode=QWidgetPrivate::CloseWithSpontaneousEvent) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216 #27 QWidgetPrivate::close_helper (this=0x8d25a50, mode=QWidgetPrivate::CloseWithSpontaneousEvent) at kernel/qwidget.cpp:7120 #28 0x025e75eb in QETWidget::translateCloseEvent (this=0xbff209b0, w=0x8c26128, event=0xbff2061c, passive_only=false) at kernel/qapplication_x11.cpp:5291 #29 QApplication::x11ClientMessage (this=0xbff209b0, w=0x8c26128, event=0xbff2061c, passive_only=false) at kernel/qapplication_x11.cpp:3086 #30 0x025f8ff9 in QApplication::x11ProcessEvent (this=0xbff209b0, event=0xbff2061c) at kernel/qapplication_x11.cpp:3682 #31 0x02626502 in x11EventSourceDispatch (s=0x8c29630, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146 #32 0x01d9ee78 in g_main_context_dispatch () from /lib/libglib-2.0.so.0 #33 0x01da2720 in ?? () from /lib/libglib-2.0.so.0 #34 0x01da2853 in g_main_context_iteration () from /lib/libglib-2.0.so.0 #35 0x0568a02c in QEventDispatcherGlib::processEvents (this=0x8bfca78, flags=...) at kernel/qeventdispatcher_glib.cpp:327 #36 0x02625be5 in QGuiEventDispatcherGlib::processEvents (this=0x8bfca78, flags=...) at kernel/qguieventdispatcher_glib.cpp:202 #37 0x0565dc79 in QEventLoop::processEvents (this=0xbff20914, flags=) at kernel/qeventloop.cpp:149 #38 0x0565e0ca in QEventLoop::exec (this=0xbff20914, flags=...) at kernel/qeventloop.cpp:201 #39 0x0566053f in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888 #40 0x02584dd7 in QApplication::exec () at kernel/qapplication.cpp:3525 #41 0x080a4e09 in main (argc=5, argv=0xbff20dc4) at /build/buildd/konversation-1.2/src/main.cpp:98 Reported using DrKonqi
To reproduce this, I had the following setup: - one account on some irc server - one identity bound to the irc server account * on the identity dialog I experimented placing a "/nickserv ghost nickname pw" command on the "pre-shell command" field in the advanced tab (don't ask me if that's right :p) - I tried to connect to the server but it failed, the connection just stalled, so I closed konversation then and it crashed
> on the identity dialog I experimented placing a "/nickserv ghost nickname pw" command on the "pre-shell command" field in the advanced tab The "Pre-shell command" field is for a system command, e.g. to establish an SSH tunnel before connecting. It's not an IRC command. To run IRC commands at connection time, see the "Commands" field in a network's settings. Specifically for nick ghosting, see also this Wiki page: http://konversation.kde.org/wiki/Ghosttrick
Crash reproduced (thanks for the extra info!); expanding the bug title a bit.
SVN commit 1052196 by hein: * Avoid possibly stalling the connection attempt when there's a problem executing the pre-shell command. * Add a sanity check to Server::quitServer() so it won't crash when it's called without the socket having been initialized. BUG:214346 M +5 -0 ChangeLog M +13 -1 src/irc/server.cpp M +1 -0 src/irc/server.h WebSVN link: http://websvn.kde.org/?view=rev&revision=1052196