Bug 311940

Summary: Plan crashes when typing a text in the filter textbox before the textbook is fully loaded when selecting a contact from the adressbook
Product: [Applications] calligraplan Reporter: Mickaël <mprizee>
Component: generalAssignee: Dag Andersen <dag.andersen>
Status: RESOLVED WORKSFORME    
Severity: crash CC: aspotashev, asturm
Priority: NOR    
Version: 2.5.4   
Target Milestone: ---   
Platform: openSUSE   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Mickaël 2012-12-19 16:15:16 UTC
Application: calligraplan (2.5.4)
KDE Platform Version: 4.9.4 "release 5"
Qt Version: 4.8.3
Operating System: Linux 3.4.11-2.16-desktop x86_64
Distribution: "openSUSE 12.2 (x86_64)"

-- Information about the crash:
- What I was doing when the application crashed:
1. Create a new ressource
2. Edit this ressource
3. Click on "Choose" after the "Name" field (in order to choose the name from the adressbook)
I have a very large adressbook (more than 1000 entries) so it takes a couple of seconds to load it entirely.
4. Type something (for instance an existing name in the adressbook) before the adressbook is fully loaded
5. The adressbook will finish loading, and Plan will crash.

If I wait for the adressbook to be fully loaded, no problem.

The crash can be reproduced every time.

-- Backtrace:
Application: Plan (kdeinit4), signal: Segmentation fault
Using host libthread_db library "/lib64/libthread_db.so.1".
[Current thread is 1 (Thread 0x7fc96297c780 (LWP 5643))]

Thread 2 (Thread 0x7fc943221700 (LWP 5644)):
#0  0x00007fc95ffbc14f in poll () from /lib64/libc.so.6
#1  0x00007fc95cd06684 in ?? () from /usr/lib64/libglib-2.0.so.0
#2  0x00007fc95cd067a4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#3  0x00007fc961609cf6 in QEventDispatcherGlib::processEvents (this=0x7fc93c0008c0, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#4  0x00007fc9615da85f in QEventLoop::processEvents (this=this@entry=0x7fc943220dd0, flags=...) at kernel/qeventloop.cpp:149
#5  0x00007fc9615daae8 in QEventLoop::exec (this=0x7fc943220dd0, flags=...) at kernel/qeventloop.cpp:204
#6  0x00007fc9614dcfc0 in QThread::exec (this=<optimized out>) at thread/qthread.cpp:501
#7  0x00007fc9615bafcf in QInotifyFileSystemWatcherEngine::run (this=0x9ec010) at io/qfilesystemwatcher_inotify.cpp:248
#8  0x00007fc9614dff9c in QThreadPrivate::start (arg=0x9ec010) at thread/qthread_unix.cpp:338
#9  0x00007fc961249e0e in start_thread () from /lib64/libpthread.so.0
#10 0x00007fc95ffc42cd in clone () from /lib64/libc.so.6

Thread 1 (Thread 0x7fc96297c780 (LWP 5643)):
[KCrash Handler]
#6  0x00007fc960cf297c in ?? () from /usr/lib64/libQtGui.so.4
#7  0x00007fc960cf54be in ?? () from /usr/lib64/libQtGui.so.4
#8  0x00007fc960cf59bf in ?? () from /usr/lib64/libQtGui.so.4
#9  0x00007fc9615f239f in QMetaObject::activate (sender=0x1ed5900, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffd8dc6fa0) at kernel/qobject.cpp:3556
#10 0x00007fc96163b254 in QAbstractItemModel::rowsInserted (this=<optimized out>, _t1=..., _t2=0, _t3=0) at .moc/release-shared/moc_qabstractitemmodel.cpp:197
#11 0x00007fc9615d641d in QAbstractItemModel::endInsertRows (this=0x1ed5900) at kernel/qabstractitemmodel.cpp:2433
#12 0x00007fc944b0ef4b in Akonadi::EntityTreeModelPrivate::collectionsFetched (this=0x1675550, collections=...) at /usr/src/debug/kdepimlibs-4.9.4/akonadi/entitytreemodel_p.cpp:477
#13 0x00007fc9615f239f in QMetaObject::activate (sender=0x20afdb0, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffd8dc73a0) at kernel/qobject.cpp:3556
#14 0x00007fc944a93a62 in Akonadi::CollectionFetchJob::collectionsReceived (this=this@entry=0x20afdb0, _t1=...) at /usr/src/debug/kdepimlibs-4.9.4/build/akonadi/collectionfetchjob.moc:109
#15 0x00007fc944b5addb in Akonadi::CollectionFetchJobPrivate::timeout (this=<optimized out>) at /usr/src/debug/kdepimlibs-4.9.4/akonadi/collectionfetchjob.cpp:76
#16 0x00007fc9615f239f in QMetaObject::activate (sender=0x2093200, m=<optimized out>, local_signal_index=<optimized out>, argv=0x0) at kernel/qobject.cpp:3556
#17 0x00007fc9615f031c in QObject::event (this=0x2093200, e=<optimized out>) at kernel/qobject.cpp:1166
#18 0x00007fc96076a74c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#19 0x00007fc96076ebca in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#20 0x00007fc962375616 in KApplication::notify (this=0x7fffd8dc94f0, receiver=0x2093200, event=0x7fffd8dc7c00) at /usr/src/debug/kdelibs-4.9.4/kdeui/kernel/kapplication.cpp:311
#21 0x00007fc9615dbb0e in QCoreApplication::notifyInternal (this=0x7fffd8dc94f0, receiver=0x2093200, event=0x7fffd8dc7c00) at kernel/qcoreapplication.cpp:915
#22 0x00007fc96160c561 in sendEvent (event=0x7fffd8dc7c00, receiver=<optimized out>) at kernel/qcoreapplication.h:231
#23 QTimerInfoList::activateTimers (this=0x870e60) at kernel/qeventdispatcher_unix.cpp:626
#24 0x00007fc961609674 in timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:186
#25 timerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:180
#26 0x00007fc961609691 in idleTimerSourceDispatch (source=<optimized out>) at kernel/qeventdispatcher_glib.cpp:233
#27 0x00007fc95cd063b5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#28 0x00007fc95cd066e8 in ?? () from /usr/lib64/libglib-2.0.so.0
#29 0x00007fc95cd067a4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#30 0x00007fc961609cd6 in QEventDispatcherGlib::processEvents (this=0x787790, flags=...) at kernel/qeventdispatcher_glib.cpp:424
#31 0x00007fc96080aa5e in ?? () from /usr/lib64/libQtGui.so.4
#32 0x00007fc9615da85f in QEventLoop::processEvents (this=this@entry=0x7fffd8dc7e90, flags=...) at kernel/qeventloop.cpp:149
#33 0x00007fc9615daae8 in QEventLoop::exec (this=0x7fffd8dc7e90, flags=...) at kernel/qeventloop.cpp:204
#34 0x00007fc960c1deb8 in QDialog::exec() () from /usr/lib64/libQtGui.so.4
#35 0x00007fc946b5bf9c in KPlato::ResourceDialogImpl::slotChooseResource (this=0x16f4390) at /usr/src/debug/calligra-2.5.4/plan/libs/ui/kptresourcedialog.cpp:224
#36 0x00007fc9615f239f in QMetaObject::activate (sender=0xdd6e60, m=<optimized out>, local_signal_index=<optimized out>, argv=0x7fffd8dc8090) at kernel/qobject.cpp:3556
#37 0x00007fc960dcea82 in QAbstractButton::clicked(bool) () from /usr/lib64/libQtGui.so.4
#38 0x00007fc960b2382e in ?? () from /usr/lib64/libQtGui.so.4
#39 0x00007fc960b24060 in ?? () from /usr/lib64/libQtGui.so.4
#40 0x00007fc960b242cc in QAbstractButton::mouseReleaseEvent(QMouseEvent*) () from /usr/lib64/libQtGui.so.4
#41 0x00007fc9607b9ed0 in QWidget::event(QEvent*) () from /usr/lib64/libQtGui.so.4
#42 0x00007fc96076a74c in QApplicationPrivate::notify_helper(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#43 0x00007fc96076f42b in QApplication::notify(QObject*, QEvent*) () from /usr/lib64/libQtGui.so.4
#44 0x00007fc962375616 in KApplication::notify (this=0x7fffd8dc94f0, receiver=0xdd6e60, event=0x7fffd8dc8930) at /usr/src/debug/kdelibs-4.9.4/kdeui/kernel/kapplication.cpp:311
#45 0x00007fc9615dbb0e in QCoreApplication::notifyInternal (this=0x7fffd8dc94f0, receiver=0xdd6e60, event=0x7fffd8dc8930) at kernel/qcoreapplication.cpp:915
#46 0x00007fc96076b58b in QApplicationPrivate::sendMouseEvent(QWidget*, QMouseEvent*, QWidget*, QWidget*, QWidget**, QPointer<QWidget>&, bool) () from /usr/lib64/libQtGui.so.4
#47 0x00007fc9607e5d14 in ?? () from /usr/lib64/libQtGui.so.4
#48 0x00007fc9607e4aa1 in QApplication::x11ProcessEvent(_XEvent*) () from /usr/lib64/libQtGui.so.4
#49 0x00007fc96080ade2 in ?? () from /usr/lib64/libQtGui.so.4
#50 0x00007fc95cd063b5 in g_main_context_dispatch () from /usr/lib64/libglib-2.0.so.0
#51 0x00007fc95cd066e8 in ?? () from /usr/lib64/libglib-2.0.so.0
#52 0x00007fc95cd067a4 in g_main_context_iteration () from /usr/lib64/libglib-2.0.so.0
#53 0x00007fc961609cf6 in QEventDispatcherGlib::processEvents (this=0x787790, flags=...) at kernel/qeventdispatcher_glib.cpp:426
#54 0x00007fc96080aa5e in ?? () from /usr/lib64/libQtGui.so.4
#55 0x00007fc9615da85f in QEventLoop::processEvents (this=this@entry=0x7fffd8dc9470, flags=...) at kernel/qeventloop.cpp:149
#56 0x00007fc9615daae8 in QEventLoop::exec (this=0x7fffd8dc9470, flags=...) at kernel/qeventloop.cpp:204
#57 0x00007fc9615df788 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:1187
#58 0x00007fc94fb3f935 in kdemain (argc=<optimized out>, argv=0x787730) at /usr/src/debug/calligra-2.5.4/plan/main.cpp:41
#59 0x0000000000408856 in _start ()

Possible duplicates by query: bug 277822, bug 246203.

Reported using DrKonqi
Comment 1 Dag Andersen 2012-12-20 09:44:29 UTC
Git commit 1fb81d2e5fc2df149261c6fc20a13b4a6a03dd7a by Dag Andersen.
Committed on 20/12/2012 at 10:38.
Pushed by danders into branch 'calligra/2.6'.

Workaround bug 311940: Plan crashes when typing a text in the filter textbox before the textbook is fully loaded when selecting a contact from the adressbook

Disable function to select a person from the kde address book. Seems to be an akonadi crash.

M  +4    -0    plan/kpttaskdefaultpanel.cpp
M  +4    -0    plan/libs/ui/kptmainprojectpanel.cpp
M  +4    -0    plan/libs/ui/kptresourcedialog.cpp
M  +4    -0    plan/libs/ui/kptsummarytaskgeneralpanel.cpp
M  +4    -0    plan/libs/ui/kpttaskgeneralpanel.cpp

http://commits.kde.org/calligra/1fb81d2e5fc2df149261c6fc20a13b4a6a03dd7a
Comment 2 Andreas Sturmlechner 2017-01-04 12:31:26 UTC
Please check if this is fixed - I remember krunner segfaulting because of that as well, which was fixed by some commit in akonadi(-contact) that I am unable to find right now.
Comment 3 Alexander Potashev 2017-11-18 20:46:31 UTC
(In reply to Dag Andersen from comment #1)
> Git commit 1fb81d2e5fc2df149261c6fc20a13b4a6a03dd7a by Dag Andersen.
> Committed on 20/12/2012 at 10:38.
> Pushed by danders into branch 'calligra/2.6'.
> 
> Workaround bug 311940: Plan crashes when typing a text in the filter textbox
> before the textbook is fully loaded when selecting a contact from the
> adressbook
> 
> Disable function to select a person from the kde address book. Seems to be
> an akonadi crash.
> 
> M  +4    -0    plan/kpttaskdefaultpanel.cpp
> M  +4    -0    plan/libs/ui/kptmainprojectpanel.cpp
> M  +4    -0    plan/libs/ui/kptresourcedialog.cpp
> M  +4    -0    plan/libs/ui/kptsummarytaskgeneralpanel.cpp
> M  +4    -0    plan/libs/ui/kpttaskgeneralpanel.cpp
> 
> http://commits.kde.org/calligra/1fb81d2e5fc2df149261c6fc20a13b4a6a03dd7a

This indeed "fixed" the crash.
Comment 4 Alexander Potashev 2017-11-18 20:51:36 UTC
(In reply to andreas.sturmlechner from comment #2)
> Please check if this is fixed - I remember krunner segfaulting because of
> that as well, which was fixed by some commit in akonadi(-contact) that I am
> unable to find right now.

Oh, you meant to check if it works without the workaround... I'll test it.
Comment 5 Alexander Potashev 2017-11-19 19:23:55 UTC
(In reply to Alexander Potashev from comment #4)
> Oh, you meant to check if it works without the workaround... I'll test it.

Couldn't test because of this bug:
https://bugs.kde.org/show_bug.cgi?id=352909
Comment 6 Justin Zobel 2020-12-17 05:32:47 UTC
Thank you for the crash report.

As it has been a while since this was reported, can you please test and confirm if this issue is still occurring or if this bug report can be marked as resolved.

I have set the bug status to "needsinfo" pending your response, please change back to "reported" or "resolved/worksforme" when you respond, thank you.
Comment 7 Bug Janitor Service 2021-01-01 04:34:49 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 8 Bug Janitor Service 2021-01-16 04:34:08 UTC
This bug has been in NEEDSINFO status with no change for at least
30 days. The bug is now closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

Thank you for helping us make KDE software even better for everyone!