Bug 319897 - Sieve dialog doesn't give any feedback when the server address is wrong
Summary: Sieve dialog doesn't give any feedback when the server address is wrong
Status: RESOLVED FIXED
Alias: None
Product: kmail2
Classification: Applications
Component: sieve (show other bugs)
Version: Git (master)
Platform: Other Linux
: NOR normal
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-05-16 08:37 UTC by Sergio Martins
Modified: 2013-05-16 14:30 UTC (History)
1 user (show)

See Also:
Latest Commit:
Version Fixed In: 4.11


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Sergio Martins 2013-05-16 08:37:18 UTC
When the "new script" dialog can't connect to the server, it just sits there doing nothing.
In one case I clicked [OK] twice and got a crash, due to 2 jobs running:

(gdb) bt
#0  0x00007f650aa73fbb in raise () from /usr/lib/libpthread.so.0
#1  0x00007f650cc46faf in KCrash::defaultCrashHandler (sig=11) at /data/extra2/sources/kde/trunk/kde/kdelibs/kdeui/util/kcrash.cpp:346
#2  <signal handler called>
#3  QWidget::show (this=0x0) at /data/extra2/installation/qt/qt-4.8/include/QtGui/qwidget.h:497
#4  0x00007f64e8072c41 in KSieveUi::ManageSieveScriptsDialog::slotPutResult (this=0xcf4efd0, success=<optimized out>)
    at /data/extra2/sources/kde/trunk/kde/kdepim/libksieve/ksieveui/managesievescriptsdialog.cpp:510
#5  0x00007f650ae790fe in QMetaObject::activate (sender=0xcc7e610, m=0x7f64e762c4e0 <KManageSieve::SieveJob::staticMetaObject>, local_signal_index=2, argv=0x7fff8d262b40) at kernel/qobject.cpp:3547
#6  0x00007f64e74259ee in KManageSieve::SieveJob::result (this=<optimized out>, _t1=0xcc7e610, _t2=_t2@entry=false, _t3=..., _t4=false)
    at /data/extra2/sources/kde/trunk/build/kde/kdepim/libksieve/kmanagesieve/sievejob.moc:128
#7  0x00007f64e742624c in KManageSieve::SieveJob::Private::killed (this=0x12cd880) at /data/extra2/sources/kde/trunk/kde/kdepim/libksieve/kmanagesieve/sievejob.cpp:220
#8  0x00007f64e742193c in KManageSieve::Session::killJob (this=this@entry=0xccd0400, job=0xcc7e610) at /data/extra2/sources/kde/trunk/kde/kdepim/libksieve/kmanagesieve/session.cpp:288
#9  0x00007f64e7421c7d in KManageSieve::Session::disconnectFromHost (this=this@entry=0xccd0400, sendLogout=sendLogout@entry=false)
    at /data/extra2/sources/kde/trunk/kde/kdepim/libksieve/kmanagesieve/session.cpp:96
#10 0x00007f64e7421e22 in KManageSieve::Session::socketError (this=0xccd0400) at /data/extra2/sources/kde/trunk/kde/kdepim/libksieve/kmanagesieve/session.cpp:270
#11 0x00007f650ae790fe in QMetaObject::activate (sender=0xcf50ba0, m=0x7f650b6e9bc0 <KTcpSocket::staticMetaObject>, local_signal_index=3, argv=0x7fff8d262e40) at kernel/qobject.cpp:3547
#12 0x00007f650b3afbe1 in KTcpSocket::error (this=<optimized out>, _t1=KTcpSocket::SocketTimeoutError) at /data/extra2/sources/kde/trunk/build/kde/kdelibs/kdecore/ktcpsocket.moc:163
#13 0x00007f650ae790fe in QMetaObject::activate (sender=0xcf7add0, m=0x7f650dea7740 <QAbstractSocket::staticMetaObject>, local_signal_index=4, argv=0x7fff8d262f70) at kernel/qobject.cpp:3547
#14 0x00007f650dc063f8 in QAbstractSocket::error (this=0xcf7add0, _t1=QAbstractSocket::SocketTimeoutError) at .moc/debug-shared/moc_qabstractsocket.cpp:246
#15 0x00007f650dc23b5e in QSslSocketPrivate::_q_errorSlot (this=0xccea6c0, error=QAbstractSocket::SocketTimeoutError) at ssl/qsslsocket.cpp:2197
#16 0x00007f650dc24493 in QSslSocket::qt_static_metacall (_o=0xcf7add0, _c=QMetaObject::InvokeMetaMethod, _id=14, _a=0x7fff8d263130) at .moc/debug-shared/moc_qsslsocket.cpp:96
#17 0x00007f650ae790fe in QMetaObject::activate (sender=0x6fdb0c0, m=0x7f650dea7740 <QAbstractSocket::staticMetaObject>, local_signal_index=4, argv=0x7fff8d263130) at kernel/qobject.cpp:3547
#18 0x00007f650dc063f8 in QAbstractSocket::error (this=0x6fdb0c0, _t1=QAbstractSocket::SocketTimeoutError) at .moc/debug-shared/moc_qabstractsocket.cpp:246
#19 0x00007f650dc01bd7 in QAbstractSocketPrivate::_q_abortConnectionAttempt (this=0xcc80ca0) at socket/qabstractsocket.cpp:1112
#20 0x00007f650dc0619c in QAbstractSocket::qt_static_metacall (_o=0x6fdb0c0, _c=QMetaObject::InvokeMetaMethod, _id=13, _a=0x7fff8d263260) at .moc/debug-shared/moc_qabstractsocket.cpp:170
#21 0x00007f650ae790fe in QMetaObject::activate (sender=0xcb9fee0, m=0x7f650b219500 <QTimer::staticMetaObject>, local_signal_index=0, argv=0x0) at kernel/qobject.cpp:3547
#22 0x00007f650aedb237 in QTimer::timeout (this=0xcb9fee0) at .moc/debug-shared/moc_qtimer.cpp:147
#23 0x00007f650ae825a3 in QTimer::timerEvent (this=0xcb9fee0, e=0x7fff8d263bb0) at kernel/qtimer.cpp:280
#24 0x00007f650ae73b94 in QObject::event (this=0xcb9fee0, e=0x7fff8d263bb0) at kernel/qobject.cpp:1156
#25 0x00007f650bbb9528 in QApplicationPrivate::notify_helper (this=0x1289de0, receiver=0xcb9fee0, e=0x7fff8d263bb0) at kernel/qapplication.cpp:4562
---Type <return> to continue, or q <return> to quit---
#26 0x00007f650bbb6ac4 in QApplication::notify (this=0x7fff8d2640e0, receiver=0xcb9fee0, e=0x7fff8d263bb0) at kernel/qapplication.cpp:3944
#27 0x00007f650cbee936 in KApplication::notify (this=0x7fff8d2640e0, receiver=0xcb9fee0, event=0x7fff8d263bb0) at /data/extra2/sources/kde/trunk/kde/kdelibs/kdeui/kernel/kapplication.cpp:311
#28 0x00007f650ae5aae5 in QCoreApplication::notifyInternal (this=0x7fff8d2640e0, receiver=0xcb9fee0, event=0x7fff8d263bb0) at kernel/qcoreapplication.cpp:949
#29 0x00007f650f01fe6b in QCoreApplication::sendEvent(QObject*, QEvent*) () from /data/extra2/installation/qt/qt-4.8//lib/libQtWebKit.so.4
#30 0x00007f650ae9a31b in QTimerInfoList::activateTimers (this=0x128dba8) at kernel/qeventdispatcher_unix.cpp:621
#31 0x00007f650ae9b1cd in QEventDispatcherUNIX::activateTimers (this=0x1229e90) at kernel/qeventdispatcher_unix.cpp:878
#32 0x00007f650ae9b545 in QEventDispatcherUNIX::processEvents (this=0x1229e90, flags=...) at kernel/qeventdispatcher_unix.cpp:940
#33 0x00007f650bc93ed0 in QEventDispatcherX11::processEvents (this=0x1229e90, flags=...) at kernel/qeventdispatcher_x11.cpp:152
#34 0x00007f650ae57e2f in QEventLoop::processEvents (this=0x7fff8d263fd0, flags=...) at kernel/qeventloop.cpp:149
#35 0x00007f650ae57fc2 in QEventLoop::exec (this=0x7fff8d263fd0, flags=...) at kernel/qeventloop.cpp:204
#36 0x00007f650ae5b178 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1221
#37 0x00007f650bbb66ae in QApplication::exec () at kernel/qapplication.cpp:3823

Reproducible: Always

Actual Results:  
.
Comment 1 Laurent Montel 2013-05-16 11:07:37 UTC
Git commit 2f02e44646193a4f22dc588841316e11487729a2 by Montel Laurent.
Committed on 16/05/2013 at 13:06.
Pushed by mlaurent into branch 'master'.

Don't authorize to create new script if we don't finish to fetch script

Other improvment soon

M  +7    -10   libksieve/ksieveui/managesievescriptsdialog.cpp

http://commits.kde.org/kdepim/2f02e44646193a4f22dc588841316e11487729a2
Comment 2 Laurent Montel 2013-05-16 13:50:58 UTC
Finally I forbidden to create a new script until we fetch script.
And I added a spinner to signal that we try to fetch

and finally a timeout arrive and we have an error from server => we have a no selectable item.
=> for me this bug is fixed now.
Comment 3 Sergio Martins 2013-05-16 14:30:30 UTC
thanks, will try it out!