Summary: | Crash when asking to input password | ||
---|---|---|---|
Product: | [Frameworks and Libraries] Akonadi | Reporter: | Enrico <enricobe> |
Component: | Mail Dispatcher Agent | Assignee: | kdepim bugs <kdepim-bugs> |
Status: | RESOLVED FIXED | ||
Severity: | crash | CC: | groni3427, szotsaki |
Priority: | NOR | Keywords: | drkonqi |
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | Fedora RPMs | ||
OS: | Linux | ||
Latest Commit: | https://invent.kde.org/pim/kmailtransport/commit/c5fa8cc88a1fc2df46dac279ba6b3b5edfd553bb | Version Fixed In: | |
Sentry Crash Report: |
Description
Enrico
2020-05-22 19:53:45 UTC
Application: akonadi_maildispatcher_agent (5.14.1 (20.04.0)) Qt Version: 5.15.0 Frameworks Version: 5.70.0 Operating System: Linux 5.6.14-1-default x86_64 Windowing system: X11 Distribution: openSUSE Tumbleweed -- Information about the crash: - What I was doing when the application crashed: GMail was asking for SMTP password and because of that a password input window was shown. Some seconds later, the agent crashed after it had shown that the remote machine closed the connection. -- Backtrace: Application: akonadi_maildispatcher_agent (akonadi_maildispatcher_agent), signal: Segmentation fault Using host libthread_db library "/lib64/libthread_db.so.1". 29 return SYSCALL_CANCEL (poll, fds, nfds, timeout); [Current thread is 1 (Thread 0x7f52dea77900 (LWP 6863))] Thread 4 (Thread 0x7f52d5f69700 (LWP 6923)): #0 0x00007f52e19fba4c in __GI___libc_read (nbytes=16, buf=0x7f52d5f68a80, fd=13) at ../sysdeps/unix/sysv/linux/read.c:26 #1 0x00007f52e19fba4c in __GI___libc_read (fd=13, buf=buf@entry=0x7f52d5f68a80, nbytes=nbytes@entry=16) at ../sysdeps/unix/sysv/linux/read.c:24 #2 0x00007f52e002e15f in read (__nbytes=16, __buf=0x7f52d5f68a80, __fd=<optimized out>) at /usr/include/bits/unistd.h:44 #3 0x00007f52e002e15f in g_wakeup_acknowledge (wakeup=0x7f52c8003590) at ../glib/gwakeup.c:210 #4 0x00007f52dffe512e in g_main_context_check (context=context@entry=0x7f52cc000c20, max_priority=2147483647, fds=fds@entry=0x7f52cc004e60, n_fds=n_fds@entry=1) at ../glib/gmain.c:3825 #5 0x00007f52dffe5585 in g_main_context_iterate (context=context@entry=0x7f52cc000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4044 #6 0x00007f52dffe56ff in g_main_context_iteration (context=0x7f52cc000c20, may_block=may_block@entry=1) at ../glib/gmain.c:4108 #7 0x00007f52e1fd0f6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f52cc000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #8 0x00007f52e1f784cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f52d5f68ca0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #9 0x00007f52e1d9a73e in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #10 0x00007f52e1d9b871 in QThreadPrivate::start(void*) (arg=0x5630d2ab31d0) at thread/qthread_unix.cpp:342 #11 0x00007f52e09b5eaa in start_thread (arg=<optimized out>) at pthread_create.c:477 #12 0x00007f52e1a0ab1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 3 (Thread 0x7f52d676a700 (LWP 6892)): #0 0x00007f52e19fba4c in __GI___libc_read (nbytes=16, buf=0x7f52d6769a80, fd=8) at ../sysdeps/unix/sysv/linux/read.c:26 #1 0x00007f52e19fba4c in __GI___libc_read (fd=8, buf=buf@entry=0x7f52d6769a80, nbytes=nbytes@entry=16) at ../sysdeps/unix/sysv/linux/read.c:24 #2 0x00007f52e002e15f in read (__nbytes=16, __buf=0x7f52d6769a80, __fd=<optimized out>) at /usr/include/bits/unistd.h:44 #3 0x00007f52e002e15f in g_wakeup_acknowledge (wakeup=0x7f52d00039a0) at ../glib/gwakeup.c:210 #4 0x00007f52dffe512e in g_main_context_check (context=context@entry=0x7f52c8000c20, max_priority=2147483647, fds=fds@entry=0x7f52d0021020, n_fds=n_fds@entry=1) at ../glib/gmain.c:3825 #5 0x00007f52dffe5585 in g_main_context_iterate (context=context@entry=0x7f52c8000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4044 #6 0x00007f52dffe56ff in g_main_context_iteration (context=0x7f52c8000c20, may_block=may_block@entry=1) at ../glib/gmain.c:4108 #7 0x00007f52e1fd0f6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f52c8000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #8 0x00007f52e1f784cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f52d6769ca0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #9 0x00007f52e1d9a73e in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #10 0x00007f52e1d9b871 in QThreadPrivate::start(void*) (arg=0x5630d2a94d90) at thread/qthread_unix.cpp:342 #11 0x00007f52e09b5eaa in start_thread (arg=<optimized out>) at pthread_create.c:477 #12 0x00007f52e1a0ab1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 2 (Thread 0x7f52d6f6b700 (LWP 6891)): #0 0x00007f52e19fffef in __GI___poll (fds=0x7f52d0035590, nfds=1, timeout=-1) at ../sysdeps/unix/sysv/linux/poll.c:29 #1 0x00007f52dffe55de in g_main_context_poll (priority=<optimized out>, n_fds=1, fds=0x7f52d0035590, timeout=<optimized out>, context=0x7f52d0000c20) at ../glib/gmain.c:4346 #2 0x00007f52dffe55de in g_main_context_iterate (context=context@entry=0x7f52d0000c20, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4042 #3 0x00007f52dffe56ff in g_main_context_iteration (context=0x7f52d0000c20, may_block=may_block@entry=1) at ../glib/gmain.c:4108 #4 0x00007f52e1fd0f6b in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x7f52d0000b60, flags=...) at kernel/qeventdispatcher_glib.cpp:425 #5 0x00007f52e1f784cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7f52d6f6ac50, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #6 0x00007f52e1d9a73e in QThread::exec() (this=<optimized out>) at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #7 0x00007f52e2921a17 in QDBusConnectionManager::run() (this=0x7f52e298ed80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at qdbusconnection.cpp:179 #8 0x00007f52e1d9b871 in QThreadPrivate::start(void*) (arg=0x7f52e298ed80 <(anonymous namespace)::Q_QGS__q_manager::innerFunction()::holder>) at thread/qthread_unix.cpp:342 #9 0x00007f52e09b5eaa in start_thread (arg=<optimized out>) at pthread_create.c:477 #10 0x00007f52e1a0ab1f in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:95 Thread 1 (Thread 0x7f52dea77900 (LWP 6863)): [KCrash Handler] #4 0x00007f52e2a27774 in KJob::setError(int) (this=this@entry=0x5630d2bce4c0, errorCode=errorCode@entry=1) at /usr/src/debug/kcoreaddons-5.70.0-1.2.x86_64/src/lib/jobs/kjob.cpp:228 #5 0x00007f52d4cd8966 in MailTransport::SmtpJob::startLoginJob() (this=0x5630d2bce4c0) at /usr/src/debug/kmailtransport-20.04.1-1.2.x86_64/src/kmailtransport/plugins/smtp/smtpjob.cpp:278 #6 0x00007f52e1faffe6 in QtPrivate::QSlotObjectBase::call(QObject*, void**) (a=0x7ffc6c1f6ed0, r=0x5630d2bce4c0, this=0x5630d29d11f0) at ../../include/QtCore/../../src/corelib/kernel/qobjectdefs_impl.h:398 #7 0x00007f52e1faffe6 in doActivate<false>(QObject*, int, void**) (sender=0x5630d2bf42d0, signal_index=3, argv=argv@entry=0x7ffc6c1f6ed0) at kernel/qobject.cpp:3886 #8 0x00007f52e1fa9340 in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (sender=<optimized out>, m=m@entry=0x7f52d4c90b60 <KSmtp::Session::staticMetaObject>, local_signal_index=local_signal_index@entry=0, argv=argv@entry=0x7ffc6c1f6ed0) at kernel/qobject.cpp:3946 #9 0x00007f52d4c7fc7e in KSmtp::Session::stateChanged(KSmtp::Session::State) (this=<optimized out>, _t1=<optimized out>, _t1@entry=KSmtp::Session::Ready) at /usr/src/debug/ksmtp-20.04.1-1.2.x86_64/build/src/KPimSMTP_autogen/EWIEGA46WW/moc_session.cpp:166 #10 0x00007f52d4c83d35 in KSmtp::SessionPrivate::setState(KSmtp::Session::State) (s=KSmtp::Session::Ready, this=0x7f52c804d980) at /usr/src/debug/ksmtp-20.04.1-1.2.x86_64/src/session.cpp:257 #11 0x00007f52d4c83d35 in KSmtp::SessionPrivate::setState(KSmtp::Session::State) (this=this@entry=0x7f52c804d980, s=s@entry=KSmtp::Session::Ready) at /usr/src/debug/ksmtp-20.04.1-1.2.x86_64/src/session.cpp:250 #12 0x00007f52d4c8762a in KSmtp::SessionPrivate::socketConnected() (this=0x7f52c804d980) at /usr/src/debug/ksmtp-20.04.1-1.2.x86_64/src/session.cpp:322 #13 0x00007f52e1fa5a31 in QObject::event(QEvent*) (this=0x7f52c804d980, e=0x7f52ac004380) at kernel/qobject.cpp:1314 #14 0x00007f52e23e00cf in QApplicationPrivate::notify_helper(QObject*, QEvent*) (this=<optimized out>, receiver=0x7f52c804d980, e=0x7f52ac004380) at kernel/qapplication.cpp:3671 #15 0x00007f52e1f79b0a in QCoreApplication::notifyInternal2(QObject*, QEvent*) (receiver=0x7f52c804d980, event=0x7f52ac004380) at ../../include/QtCore/5.15.0/QtCore/private/../../../../../src/corelib/thread/qthread_p.h:325 #16 0x00007f52e1f7c531 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) (receiver=0x0, event_type=0, data=0x5630d29a0680) at kernel/qcoreapplication.cpp:1815 #17 0x00007f52e1fd18c3 in postEventSourceDispatch(GSource*, GSourceFunc, gpointer) (s=s@entry=0x5630d2a771e0) at kernel/qeventdispatcher_glib.cpp:277 #18 0x00007f52dffe52c7 in g_main_dispatch (context=0x7f52d8005000) at ../glib/gmain.c:3309 #19 0x00007f52dffe52c7 in g_main_context_dispatch (context=0x7f52d8005000) at ../glib/gmain.c:3974 #20 0x00007f52dffe5648 in g_main_context_iterate (context=context@entry=0x7f52d8005000, block=block@entry=1, dispatch=dispatch@entry=1, self=<optimized out>) at ../glib/gmain.c:4047 #21 0x00007f52dffe56ff in g_main_context_iteration (context=0x7f52d8005000, may_block=may_block@entry=1) at ../glib/gmain.c:4108 #22 0x00007f52e1fd0f4f in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) (this=0x5630d2a733d0, flags=...) at kernel/qeventdispatcher_glib.cpp:423 #23 0x00007f52e1f784cb in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) (this=this@entry=0x7ffc6c1f72d0, flags=..., flags@entry=...) at ../../include/QtCore/../../src/corelib/global/qflags.h:141 #24 0x00007f52e1f80730 in QCoreApplication::exec() () at ../../include/QtCore/../../src/corelib/global/qflags.h:121 #25 0x00005630d2243118 in Akonadi::AgentBase::init<MailDispatcherAgent>(int, char**) (argv=<optimized out>, argc=<optimized out>) at /usr/src/debug/kdepim-runtime-20.04.1-1.2.x86_64/agents/maildispatcher/maildispatcheragent.cpp:171 #26 0x00005630d2243118 in main(int, char**) (argc=<optimized out>, argv=<optimized out>) at /usr/src/debug/kdepim-runtime-20.04.1-1.2.x86_64/agents/maildispatcher/maildispatcheragent.cpp:321 [Inferior 1 (process 6863) detached] Possible duplicates by query: bug 422199, bug 422092, bug 421930, bug 421820, bug 421812. A possibly relevant merge request was started @ https://invent.kde.org/pim/kmailtransport/-/merge_requests/4 A possibly relevant merge request was started @ https://invent.kde.org/pim/kmailtransport/-/merge_requests/5 Git commit 14894befa0274e124cdde611dfb7ada8b1131b07 by Ahmad Samir. Committed on 07/09/2020 at 12:56. Pushed by ahmadsamir into branch 'release/20.08'. SmtpJob: Fix crash in startLoginJob - The user tries to connect to an smtp server, the password dialog is shown starting a nested eventloop with exec() - the connection is lost, the smtpjob is killed (due to connect() in startSmtpJob) - the dialog::exec returns, and the code tries to setError(KilledJobError) on an already killed job which leads to a crash fix the issue by using QDialog::open() to make the code async. https://invent.kde.org/pim/kmailtransport/-/merge_requests/4 M +33 -21 src/kmailtransport/plugins/smtp/smtpjob.cpp https://invent.kde.org/pim/kmailtransport/commit/14894befa0274e124cdde611dfb7ada8b1131b07 *** Bug 427575 has been marked as a duplicate of this bug. *** Git commit c5fa8cc88a1fc2df46dac279ba6b3b5edfd553bb by Ahmad Samir. Committed on 07/11/2020 at 19:10. Pushed by ahmadsamir into branch 'master'. SmtpJob: Fix crash in startLoginJob - The user tries to connect to an smtp server, the password dialog is shown starting a nested eventloop with exec() - the connection is lost, the smtpjob is killed (due to connect() in startSmtpJob) - the dialog::exec returns, and the code tries to setError(KilledJobError) on an already killed job which leads to a crash fix the issue by using QDialog::open() to make the code async. https://invent.kde.org/pim/kmailtransport/-/merge_requests/4 (cherry picked from commit 14894befa0274e124cdde611dfb7ada8b1131b07) M +31 -21 src/kmailtransport/plugins/smtp/smtpjob.cpp https://invent.kde.org/pim/kmailtransport/commit/c5fa8cc88a1fc2df46dac279ba6b3b5edfd553bb |