[Kde-pim] Review Request: Fix a crash in libksieve/kmanagesieve

Allen Winter winter at kde.org
Sun Aug 19 20:17:42 BST 2012


-----------------------------------------------------------
This is an automatically generated e-mail. To reply, visit:
http://git.reviewboard.kde.org/r/106081/
-----------------------------------------------------------

(Updated Aug. 19, 2012, 7:17 p.m.)


Review request for KDEPIM and Laurent Montel.


Changes
-------

a second try.

notice I consistently have userName() and not user() for m_url.
so far no crashes but this is a hard one to reproduce


Description
-------

This is an attempt to fix the crash reported in bugs like https://bugs.kde.org/show_bug.cgi?id=280761

I had the backtrace

#0  0x0000003927a0eebb in raise () from /lib64/libpthread.so.0
#0  0x0000003927a0eebb in raise () from /lib64/libpthread.so.0
#1  0x00007f7f6032143f in KCrash::defaultCrashHandler (sig=11) at /data/kde/trunk/KDE/kdelibs/kdeui/util/kcrash.cpp:346
#2  <signal handler called>
#3  0x00007f7f62b621a5 in QByteArray::isEmpty() const () from /data/Qt/Qt-4.8/lib/libQtWebKit.so.4
#4  0x00007f7f5f6a62f8 in QUrlPrivate::parse (this=0x13c4569, parseOptions=QUrlPrivate::ParseAndSet) at io/qurl.cpp:3822
#5  0x00007f7f5f6a9058 in QUrl::setUserName (this=0x1b2a930, userName=...) at io/qurl.cpp:4589
#6  0x00007f7f0038d6a2 in KManageSieve::Session::saslInteract (this=0x1b2a920, in=0x1efda50) at /data/kde/trunk/KDE/kdepim/libksieve/kmanagesieve/session.cpp:448
#7  0x00007f7f0038ce4a in KManageSieve::Session::startAuthentication (this=0x1b2a920) at /data/kde/trunk/KDE/kdepim/libksieve/kmanagesieve/session.cpp:375
#8  0x00007f7f0038a9cb in KManageSieve::Session::processResponse (this=0x1b2a920, response=..., data=...) at /data/kde/trunk/KDE/kdepim/libksieve/kmanagesieve/session.cpp:194
#9  0x00007f7f0038a0e0 in KManageSieve::Session::dataReceived (this=0x1b2a920) at /data/kde/trunk/KDE/kdepim/libksieve/kmanagesieve/session.cpp:134
#10 0x00007f7f0038df8a in KManageSieve::Session::qt_static_metacall (_o=0x1b2a920, _c=QMetaObject::InvokeMetaMethod, _id=0, _a=0x7fffc0dccbb0) at /data/kde/trunk/KDE/kdepim/build-master-gcc/libksieve/kmanagesieve/session.moc:53
#11 0x00007f7f5f722125 in QMetaObject::activate (sender=0x1a46fb0, m=0x7f7f5fabaea0, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3547
#12 0x00007f7f5f781abb in QIODevice::readyRead (this=0x1a46fb0) at .moc/debug-shared/moc_qiodevice.cpp:105
#13 0x00007f7f5fcbb272 in KTcpSocketPrivate::reemitReadyRead (this=0x1b1dd50) at /data/kde/trunk/KDE/kdelibs/kdecore/network/ktcpsocket.cpp:365
#14 0x00007f7f5fcba650 in KTcpSocket::qt_static_metacall (_o=0x1a46fb0, _c=QMetaObject::InvokeMetaMethod, _id=12, _a=0x7fffc0dccd30) at /data/kde/trunk/KDE/kdelibs/build-4.10-gcc/kdecore/ktcpsocket.moc:92
#15 0x00007f7f5f722125 in QMetaObject::activate (sender=0x1b1dd60, m=0x7f7f5fabaea0, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3547
#16 0x00007f7f5f781abb in QIODevice::readyRead (this=0x1b1dd60) at .moc/debug-shared/moc_qiodevice.cpp:105
#17 0x00007f7f6105175f in QSslSocketBackendPrivate::transmit (this=0x1c59070) at ssl/qsslsocket_openssl.cpp:1149
#18 0x00007f7f6104c805 in QSslSocketPrivate::_q_readyReadSlot (this=0x1c59070) at ssl/qsslsocket.cpp:2205
#19 0x00007f7f6104d0c7 in QSslSocket::qt_static_metacall (_o=0x1b1dd60, _c=QMetaObject::InvokeMetaMethod, _id=15, _a=0x7fffc0dce080) at .moc/debug-shared/moc_qsslsocket.cpp:98
#20 0x00007f7f5f722125 in QMetaObject::activate (sender=0x17f8440, m=0x7f7f5fabaea0, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3547
#21 0x00007f7f5f781abb in QIODevice::readyRead (this=0x17f8440) at .moc/debug-shared/moc_qiodevice.cpp:105
#22 0x00007f7f61029059 in QAbstractSocketPrivate::canReadNotification (this=0x1c4f4c0) at socket/qabstractsocket.cpp:654
#23 0x00007f7f6102f24c in QAbstractSocketPrivate::readNotification (this=0x1c4f4c0) at socket/qabstractsocket_p.h:77
#24 0x00007f7f61019975 in QAbstractSocketEngine::readNotification (this=0x1b72330) at socket/qabstractsocketengine.cpp:168
#25 0x00007f7f610376ae in QReadNotifier::event (this=0x14774d0, e=0x7fffc0dce950) at socket/qnativesocketengine.cpp:1151
#26 0x00007f7f5e425156 in QApplicationPrivate::notify_helper (this=0xff2ba0, receiver=0x14774d0, e=0x7fffc0dce950) at kernel/qapplication.cpp:4557
#27 0x00007f7f5e422652 in QApplication::notify (this=0x7fffc0dcec90, receiver=0x14774d0, e=0x7fffc0dce950) at kernel/qapplication.cpp:3939
#28 0x00007f7f602a15de in KApplication::notify (this=0x7fffc0dcec90, receiver=0x14774d0, event=0x7fffc0dce950) at /data/kde/trunk/KDE/kdelibs/kdeui/kernel/kapplication.cpp:311
#29 0x00007f7f5f7036c0 in QCoreApplication::notifyInternal (this=0x7fffc0dcec90, receiver=0x14774d0, event=0x7fffc0dce950) at kernel/qcoreapplication.cpp:915
#30 0x00007f7f62b6f47f in QCoreApplication::sendEvent(QObject*, QEvent*) () from /data/Qt/Qt-4.8/lib/libQtWebKit.so.4
#31 0x00007f7f5f73f7ef in socketNotifierSourceDispatch (source=0xff55f0) at kernel/qeventdispatcher_glib.cpp:110
#32 0x0000003929247695 in g_main_context_dispatch () from /lib64/libglib-2.0.so.0
#33 0x00000039292479c8 in ?? () from /lib64/libglib-2.0.so.0
#34 0x0000003929247a84 in g_main_context_iteration () from /lib64/libglib-2.0.so.0
#35 0x00007f7f5f7405c3 in QEventDispatcherGlib::processEvents (this=0xfbadf0, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#36 0x00007f7f5e50133e in QGuiEventDispatcherGlib::processEvents (this=0xfbadf0, flags=...) at kernel/qguieventdispatcher_glib.cpp:204
#37 0x00007f7f5f700ac0 in QEventLoop::processEvents (this=0x7fffc0dcec00, flags=...) at kernel/qeventloop.cpp:149


This addresses bugs 280761 and 286269.
    http://bugs.kde.org/show_bug.cgi?id=280761
    http://bugs.kde.org/show_bug.cgi?id=286269


Diffs (updated)
-----

  libksieve/kmanagesieve/session.cpp e419263 

Diff: http://git.reviewboard.kde.org/r/106081/diff/


Testing
-------


Thanks,

Allen Winter

_______________________________________________
KDE PIM mailing list kde-pim at kde.org
https://mail.kde.org/mailman/listinfo/kde-pim
KDE PIM home page at http://pim.kde.org/



More information about the kde-pim mailing list