Version: (using KDE KDE 3.0.99) Installed from: Compiled From Sources Compiler: gcc 2.95.3 Ultrasparc Solaris 2.7 OS: Solaris While changing tabs in Konqueror, dcopserver appears to have crashed. The crash caused KDE to exit. This is with KDE 3.1rc5. The patch level of Solaris is relatively recent. Here is the trace: Loaded symbols for /usr/lib/locale/en_US/en_US.so.2 #0 0xfeb54d28 in KDE_IceSetShutdownNegotiation (iceConn=0x0, negotiate=0) at shutdown.c:89 89 iceConn->skip_want_to_close = negotiate ? False : True; (gdb) bt #0 0xfeb54d28 in KDE_IceSetShutdownNegotiation (iceConn=0x0, negotiate=0) at shutdown.c:89 #1 0xfd3dbd34 in DCOPServer::newClient (this=0x39068) at dcopserver.cpp:1106 #2 0xfd3de3fc in DCOPServer::qt_invoke (this=0x39068, _id=2, _o=0xffbee738) at dcopserver.moc:102 #3 0xfe38680c in QObject::activate_signal () from /tools/qt/qt-3.1/lib/libqt-mt.so.3 #4 0xfe386a14 in QObject::activate_signal () from /tools/qt/qt-3.1/lib/libqt-mt.so.3 #5 0xfe6f6458 in QSocketNotifier::activated () from /tools/qt/qt-3.1/lib/libqt-mt.so.3 #6 0xfe3a18b4 in QSocketNotifier::event () from /tools/qt/qt-3.1/lib/libqt-mt.so.3 #7 0xfe319c80 in QApplication::internalNotify () from /tools/qt/qt-3.1/lib/libqt-mt.so.3 #8 0xfe319384 in QApplication::notify () from /tools/qt/qt-3.1/lib/libqt-mt.so.3 #9 0xfe2ece60 in QEventLoop::activateSocketNotifiers () from /tools/qt/qt-3.1/lib/libqt-mt.so.3 #10 0xfe2c8b08 in QEventLoop::processEvents () from /tools/qt/qt-3.1/lib/libqt-mt.so.3 #11 0xfe3306f8 in QEventLoop::enterLoop () from /tools/qt/qt-3.1/lib/libqt-mt.so.3 ---Type <return> to continue, or q <return> to quit--- #12 0xfe3305d4 in QEventLoop::exec () from /tools/qt/qt-3.1/lib/libqt-mt.so.3 #13 0xfe319e80 in QApplication::exec () from /tools/qt/qt-3.1/lib/libqt-mt.so.3 #14 0xfd3de228 in main (argc=2, argv=0x34b10) at dcopserver.cpp:1623 #15 0x00014e88 in _end () #16 0x00016f4c in main (argc=3, argv=0xffbeef0c, envp=0xffbeef1c) at kinit.cpp:1451 Current language: auto; currently c
Subject: kdelibs/dcop CVS commit by coolo: catching connection errors (thanks to the excellent stacktrace :) CCMAIL: 52157-close@bugs.kde.org M +8 -0 dcopserver.cpp 1.148 --- kdelibs/dcop/dcopserver.cpp #1.147:1.148 @@ -1107,4 +1107,12 @@ void DCOPServer::newClient( int /*socket IceAcceptStatus status; IceConn iceConn = IceAcceptConnection( static_cast<const DCOPListener*>(sender())->listenObj, &status); + if (!iceConn) { + if (status == IceAcceptBadMalloc) + qWarning("Failed to alloc connection object!\n"); + else // IceAcceptFailure + qWarning("Failed to accept ICE connection!\n"); + return; + } + IceSetShutdownNegotiation( iceConn, False );