Bug 195282 - Crash when purging to-dos while filter in place
Summary: Crash when purging to-dos while filter in place
Status: RESOLVED FIXED
Alias: None
Product: korganizer
Classification: Applications
Component: general (show other bugs)
Version: 4.2.2
Platform: Ubuntu Unspecified
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
: 185851 198895 202671 203456 205731 (view as bug list)
Depends on:
Blocks:
 
Reported: 2009-06-05 01:19 UTC by Ian Turner
Modified: 2009-09-28 02:33 UTC (History)
5 users (show)

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 Ian Turner 2009-06-05 01:19:17 UTC
Version:            (using KDE 4.2.2)
Installed from:    Ubuntu Packages

STEPS TO REPRODUCE:

1. Start Korganizer.
2. Create a new calendar with File..New. Close the other calendar.
3. Create a new filter to show only active items as follows:
3a. Settings...Manage View Filters...New
3b. Name = Test Filter
3c. Check "Hide Inactive Todos"
3d. Click OK
4. Create a new to-do and mark it 100% completed.
5. Go to View...Filter...Test Filter
6. Go to File...Purge Completed To-dos and click "purge".

EXPECTED BEHAVIOR:

The to-do created in step 4 above would be deleted.

ACTUAL BEHAVIOR:

The to-do is not deleted and korganizer crashes with the following backtrace:

Application: KOrganizer (korganizer), signal SIGABRT

Thread 1 (Thread 0xb500e6c0 (LWP 17996)):
[KCrash Handler]
#6  0xb8031430 in __kernel_vsyscall ()
#7  0xb5ed18a0 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0xb5ed3268 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0xb6175795 in qt_message_output () from /usr/lib/libQtCore.so.4
#10 0xb6175872 in qFatal () from /usr/lib/libQtCore.so.4
#11 0xb6175915 in qt_assert () from /usr/lib/libQtCore.so.4
#12 0xb7809f81 in KOTodoModel::processChange (this=0x8e06b70, incidence=0x9018c88, action=2) at /build/buildd/kdepim-4.2.2/korganizer/views/todoview/kotodomodel.cpp:285
#13 0xb78110be in KOTodoView::changeIncidenceDisplay (this=0x94a7c20, incidence=0x9018c88, action=2) at /build/buildd/kdepim-4.2.2/korganizer/views/todoview/kotodoview.cpp:367
#14 0xb782f6c8 in CalendarView::changeIncidenceDisplay (this=0x8e1ff58, incidence=0x9018c88, action=2) at /build/buildd/kdepim-4.2.2/korganizer/calendarview.cpp:799
#15 0xb782f751 in CalendarView::incidenceDeleted (this=0x8e1ff58, incidence=0x9018c88) at /build/buildd/kdepim-4.2.2/korganizer/calendarview.cpp:761
#16 0xb783e8f0 in CalendarView::qt_metacall (this=0x8e1ff58, _c=QMetaObject::InvokeMetaMethod, _id=96, _a=0xbfb300ec) at /build/buildd/kdepim-4.2.2/obj-i486-linux-gnu/korganizer/calendarview.moc:486
#17 0xb6282a60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#18 0xb62837e2 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#19 0xb57e9d33 in KOrg::IncidenceChangerBase::incidenceDeleted (this=0x8ef8bc0, _t1=0x9018c88)
    at /build/buildd/kdepim-4.2.2/obj-i486-linux-gnu/korganizer/interfaces/korganizer/incidencechangerbase.moc:120
#20 0xb78d65e7 in IncidenceChanger::deleteIncidence (this=0x8ef8bc0, incidence=0x9018c88) at /build/buildd/kdepim-4.2.2/korganizer/incidencechanger.cpp:135
#21 0xb7831fbd in CalendarView::purgeCompletedSubTodos (this=0x8e1ff58, todo=0x9018c88, allPurged=@0xbfb3026b) at /build/buildd/kdepim-4.2.2/korganizer/calendarview.cpp:2235
#22 0xb783aaf8 in CalendarView::purgeCompleted (this=0x8e1ff58) at /build/buildd/kdepim-4.2.2/korganizer/calendarview.cpp:2270
#23 0xb783e2c0 in CalendarView::qt_metacall (this=0x8e1ff58, _c=QMetaObject::InvokeMetaMethod, _id=166, _a=0xbfb3042c) at /build/buildd/kdepim-4.2.2/obj-i486-linux-gnu/korganizer/calendarview.moc:561
#24 0xb6282a60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#25 0xb6282e60 in QMetaObject::activate () from /usr/lib/libQtCore.so.4
#26 0xb671b5f1 in QAction::triggered () from /usr/lib/libQtGui.so.4
#27 0xb671bf5f in QAction::activate () from /usr/lib/libQtGui.so.4
#28 0xb6af9564 in ?? () from /usr/lib/libQtGui.so.4
#29 0xb6af9ff2 in QMenu::mouseReleaseEvent () from /usr/lib/libQtGui.so.4
#30 0xb7f2f705 in KMenu::mouseReleaseEvent (this=0x8f3f048, e=0xbfb30b08) at /build/buildd/kde4libs-4.2.2/kdeui/widgets/kmenu.cpp:454
#31 0xb6779962 in QWidget::event () from /usr/lib/libQtGui.so.4
#32 0xb6afc2e9 in QMenu::event () from /usr/lib/libQtGui.so.4
#33 0xb67218ec in QApplicationPrivate::notify_helper () from /usr/lib/libQtGui.so.4
#34 0xb672a0e1 in QApplication::notify () from /usr/lib/libQtGui.so.4
#35 0xb7e492ad in KApplication::notify (this=0xbfb3139c, receiver=0x8f3f048, event=0xbfb30b08) at /build/buildd/kde4libs-4.2.2/kdeui/kernel/kapplication.cpp:307
#36 0xb626de61 in QCoreApplication::notifyInternal () from /usr/lib/libQtCore.so.4
#37 0xb672936e in QApplicationPrivate::sendMouseEvent () from /usr/lib/libQtGui.so.4
#38 0xb67938de in ?? () from /usr/lib/libQtGui.so.4
#39 0xb67929e5 in QApplication::x11ProcessEvent () from /usr/lib/libQtGui.so.4
#40 0xb67bc7aa in ?? () from /usr/lib/libQtGui.so.4
#41 0xb554f718 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#42 0xb5552dc3 in ?? () from /usr/lib/libglib-2.0.so.0
#43 0xb5552f81 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#44 0xb6298478 in QEventDispatcherGlib::processEvents () from /usr/lib/libQtCore.so.4
#45 0xb67bbea5 in ?? () from /usr/lib/libQtGui.so.4
#46 0xb626c52a in QEventLoop::processEvents () from /usr/lib/libQtCore.so.4
#47 0xb626c6ea in QEventLoop::exec () from /usr/lib/libQtCore.so.4
#48 0xb626eda5 in QCoreApplication::exec () from /usr/lib/libQtCore.so.4
#49 0xb6721767 in QApplication::exec () from /usr/lib/libQtGui.so.4
#50 0x08051184 in main (argc=) at /build/buildd/kdepim-4.2.2/korganizer/main.cpp:59
Comment 1 Dario Andres 2009-06-05 01:34:16 UTC
The backtrace looks similar to the one in bug 185851. Thanks
Comment 2 Ian Turner 2009-07-25 18:08:54 UTC
This bug still exists is 4.3RC3 with essentially the same backtrace.
Comment 3 Dario Andres 2009-08-12 17:19:05 UTC
*** Bug 203456 has been marked as a duplicate of this bug. ***
Comment 4 Christophe Marin 2009-08-16 15:29:22 UTC
*** Bug 202671 has been marked as a duplicate of this bug. ***
Comment 5 Christophe Marin 2009-08-16 15:30:14 UTC
*** Bug 198895 has been marked as a duplicate of this bug. ***
Comment 6 Allen Winter 2009-08-16 21:21:06 UTC
SVN commit 1012087 by winterz:

do not assert if we encounter an invalid TodoTreeNode in ::processChanged().
return normally instead.
hopefully fixes
BUG: 195282
MERGE: e4,4.3


 M  +4 -2      kotodomodel.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1012087
Comment 7 Allen Winter 2009-08-16 21:21:58 UTC
SVN commit 1012088 by winterz:

Backport r1012087 by winterz from trunk to the 4.3 branch:

do not assert if we encounter an invalid TodoTreeNode in ::processChanged().
return normally instead.
hopefully fixes
CCBUG: 195282
MERGE: e4,4.3



 M  +4 -2      kotodomodel.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1012088
Comment 8 Ian Turner 2009-08-16 22:52:42 UTC
Won't this code throw SIGSEGV if ttTodo is NULL?
Comment 9 Allen Winter 2009-08-17 12:51:25 UTC
SVN commit 1012284 by winterz:

crash guard for
BUG: 195282
MERGE: e4,4.3


 M  +1 -1      kotodomodel.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1012284
Comment 10 Allen Winter 2009-08-17 12:52:13 UTC
SVN commit 1012285 by winterz:

Backport r1012284 by winterz from trunk to the 4.3 branch:

crash guard for
CCBUG: 195282
MERGE: e4,4.3



 M  +1 -1      kotodomodel.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=1012285
Comment 11 Ian Turner 2009-08-17 13:49:41 UTC
Sweet, thanks for the fix!
Comment 12 Christophe Marin 2009-08-31 00:59:21 UTC
*** Bug 205731 has been marked as a duplicate of this bug. ***
Comment 13 Dario Andres 2009-09-28 02:33:31 UTC
*** Bug 185851 has been marked as a duplicate of this bug. ***