Bug 345835 - Crash when editing contacts from both Mail and Contacts at the same time
Summary: Crash when editing contacts from both Mail and Contacts at the same time
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kontact
Classification: Applications
Component: mail (show other bugs)
Version: unspecified
Platform: Debian testing Linux
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-04-03 18:12 UTC by Alban Kraus
Modified: 2018-02-01 09:44 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alban Kraus 2015-04-03 18:12:34 UTC
From a mail, I add the sender's email address to my address book and edit it. I switch to Contacts to see a similar contact. When I close the windows, Kontact crashes.

Reproducible: Always

Steps to Reproduce:
 1. I open Kontact in the Mail tab.
 2. I double-left-click on a message ; it opens as usual in a new Kontact window.
 3. Then I add the sender's address to a new contact by right-clicking on it.
 4. In the window asking whether I want to edit the contact immediately, I answer "Yes" and the usual contact window opens normally.
 5. With that window opened, I switch back to Kontact and open the Contacts tab.
 6. I open an other contact: the usual window pop up.
 7. I switch to the first contact window. I close it by clicking "OK".
 8. I exit the email window by pressing Escape
 9. I fall back to Kontact with the second contact window opened.
10. I close the second contact window by clicking the OK button.
11. Kontact crashes.

When I skip step 8 Kontact does not crash.
Kontact does crash when, instead of 7-8-9-10, I do 10-7 ("reversed order").

Actual Results:  
Kontact closes, and the bug report window pops up.


Complete auto-generated bug report:

Application: kontact (4.14.1)
KDE Platform Version: 4.14.2
Qt Version: 4.8.6
Operating System: Linux 3.16.0-4-amd64 x86_64
Distribution: Debian GNU/Linux 8.0 (jessie)

-- Information about the crash:
 1. I open Kontact in the Mail tab.
 2. I double-left-click on a message ; it opens as usual in a new Kontact window.
 3. Then I add the sender's address to a new contact by right-clicking on it.
 4. In the window asking whether I want to edit the contact immediately, I answer "Yes" and the usual contact window opens normally.
 5. With that window opened, I switch back to Kontact and open the Contacts tab.
 6. I open an other contact: the usual window pop up.
 7. I switch to the first contact window. I close it by clicking "OK".
 8. I exit the email window by pressing Escape
 9. I fall back to Kontact with the second contact window opened.
10. I close the second contact window by clicking the OK button.
11. Kontact crashes.

When I skip step 8 Kontact does not crash.
Kontact does crash when, instead of 7-8-9-10, I do 10-7 ("reversed order").

The crash can be reproduced every time.


-- Backtrace:
Application: Kontact (kontact), signal: Segmentation fault
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".
[Current thread is 1 (Thread 0x7f753858b800 (LWP 1468))]

Thread 4 (Thread 0x7f7518523700 (LWP 1469)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f753321806f in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007f75332180a9 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007f752f7a70a4 in start_thread (arg=0x7f7518523700) at pthread_create.c:309
#4  0x00007f7535a3c04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 3 (Thread 0x7f74d7c18700 (LWP 1470)):
#0  pthread_cond_wait@@GLIBC_2.3.2 () at ../nptl/sysdeps/unix/sysv/linux/x86_64/pthread_cond_wait.S:185
#1  0x00007f7532f3a973 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#2  0x00007f75332477f6 in ?? () from /usr/lib/x86_64-linux-gnu/libQtWebKit.so.4
#3  0x00007f752f7a70a4 in start_thread (arg=0x7f74d7c18700) at pthread_create.c:309
#4  0x00007f7535a3c04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 2 (Thread 0x7f74c88aa700 (LWP 1482)):
#0  0x00007f752f3043d9 in g_mutex_lock () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#1  0x00007f752f2bf469 in g_main_context_prepare () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#2  0x00007f752f2bfe0b in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#3  0x00007f752f2bfffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#4  0x00007f75361bfd37 in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#5  0x00007f753618f271 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#6  0x00007f753618f5d5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#7  0x00007f7536083e99 in QThread::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#8  0x00007f753608670f in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#9  0x00007f752f7a70a4 in start_thread (arg=0x7f74c88aa700) at pthread_create.c:309
#10 0x00007f7535a3c04d in clone () at ../sysdeps/unix/sysv/linux/x86_64/clone.S:111

Thread 1 (Thread 0x7f753858b800 (LWP 1468)):
[KCrash Handler]
#6  0x000000000364e750 in ?? ()
#7  0x00007f7534617d39 in ?? () from /usr/lib/libakonadi-contact.so.4
#8  0x00007f75345cf530 in Akonadi::ContactEditor::saveContactInAddressBook() () from /usr/lib/libakonadi-contact.so.4
#9  0x00007f75345d2235 in ?? () from /usr/lib/libakonadi-contact.so.4
#10 0x00007f75361a571c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#11 0x00007f753787f028 in KDialog::slotButtonClicked(int) () from /usr/lib/libkdeui.so.5
#12 0x00007f7537880c6f in ?? () from /usr/lib/libkdeui.so.5
#13 0x00007f75361a571c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#14 0x00007f75361ad38e in QSignalMapper::mapped(int) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#15 0x00007f75361ad516 in QSignalMapper::map(QObject*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#16 0x00007f75361a571c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#17 0x00007f7537241b92 in QAbstractButton::clicked(bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#18 0x00007f7536f80743 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#19 0x00007f7536f81af4 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#20 0x00007f7536f81c04 in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#21 0x00007f7536c02748 in QWidget::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#22 0x00007f7536baf48c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#23 0x00007f7536bb610f in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#24 0x00007f75379271aa in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#25 0x00007f753619071d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#26 0x00007f7536bb576f in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#27 0x00007f7536c2c432 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#28 0x00007f7536c2ae2c in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#29 0x00007f7536c53ed2 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#30 0x00007f752f2bfc5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#31 0x00007f752f2bff48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#32 0x00007f752f2bfffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#33 0x00007f75361bfd1d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#34 0x00007f7536c53f96 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#35 0x00007f753618f271 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#36 0x00007f753618f5d5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#37 0x00007f7537084e7c in QDialog::exec() () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#38 0x00007f7531588f25 in ?? () from /usr/lib/libkdepim.so.4
#39 0x00007f75361a571c in QMetaObject::activate(QObject*, QMetaObject const*, int, void**) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#40 0x00007f7536636152 in KJob::result(KJob*) () from /usr/lib/libkdecore.so.5
#41 0x00007f75366361a0 in KJob::emitResult() () from /usr/lib/libkdecore.so.5
#42 0x00007f75361a9e11 in QObject::event(QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#43 0x00007f7536baf48c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#44 0x00007f7536bb5fa8 in QApplication::notify(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#45 0x00007f75379271aa in KApplication::notify(QObject*, QEvent*) () from /usr/lib/libkdeui.so.5
#46 0x00007f753619071d in QCoreApplication::notifyInternal(QObject*, QEvent*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#47 0x00007f7536193fc1 in QCoreApplicationPrivate::sendPostedEvents(QObject*, int, QThreadData*) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#48 0x00007f75361bfbd3 in ?? () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#49 0x00007f752f2bfc5d in g_main_context_dispatch () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#50 0x00007f752f2bff48 in ?? () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#51 0x00007f752f2bfffc in g_main_context_iteration () from /lib/x86_64-linux-gnu/libglib-2.0.so.0
#52 0x00007f75361bfd1d in QEventDispatcherGlib::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#53 0x00007f7536c53f96 in ?? () from /usr/lib/x86_64-linux-gnu/libQtGui.so.4
#54 0x00007f753618f271 in QEventLoop::processEvents(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#55 0x00007f753618f5d5 in QEventLoop::exec(QFlags<QEventLoop::ProcessEventsFlag>) () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#56 0x00007f7536195059 in QCoreApplication::exec() () from /usr/lib/x86_64-linux-gnu/libQtCore.so.4
#57 0x0000000000403509 in ?? ()
#58 0x00007f7535977b45 in __libc_start_main (main=0x402c20, argc=1, argv=0x7ffdabad6188, init=<optimized out>, fini=<optimized out>, rtld_fini=<optimized out>, stack_end=0x7ffdabad6178) at libc-start.c:287
#59 0x00000000004039a1 in _start ()

Rapporter à https://bugs.kde.org/
Comment 1 Denis Kurz 2017-06-23 19:38:57 UTC
This bug has never been confirmed for a Kontact version that is based on KDE Frameworks (5.x). Those versions differ significantly from the old 4.x series. Therefore, I plan to close it in around two or three months. In the meantime, it is set to WAITINGFORINFO to give reporters the oportunity to check if it is still valid. As soon as someone confirms it for a recent version (at least 5.1, ideally even more recent), I'll gladly reopen it.

Please understand that we lack the manpower to triage bugs reported for versions almost two years beyond their end of life.
Comment 2 Denis Kurz 2018-02-01 09:44:41 UTC
Just as announced in my last comment, I close this bug. If you encounter it again in a recent version (at least 5.1 aka 15.12; preferably much more recent), please open a new one unless it already exists. Thank you for all your input.