Bug 195654 - Korganizer crashes when editing calendar entry
Summary: Korganizer crashes when editing calendar entry
Status: RESOLVED FIXED
Alias: None
Product: korganizer
Classification: Applications
Component: general (show other bugs)
Version: 4.2.3
Platform: Ubuntu Unspecified
: NOR crash
Target Milestone: ---
Assignee: kdepim bugs
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-06-08 11:29 UTC by Thomas Rehn
Modified: 2009-06-10 15:43 UTC (History)
1 user (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 Thomas Rehn 2009-06-08 11:29:33 UTC
Version:            (using KDE 4.2.3)
Installed from:    Ubuntu Packages

I imported a calendar entry from a local vCal file (merged into existing calendar). When I try to edit this entry instead of opening the dialog, korganizer/kontact crashes with the following backtrace:

#6  0xb7f15430 in __kernel_vsyscall ()
#7  0xb57f26d0 in raise () from /lib/tls/i686/cmov/libc.so.6
#8  0xb57f4098 in abort () from /lib/tls/i686/cmov/libc.so.6
#9  0xb5a951e5 in qt_message_output (msgType=QtFatalMsg, buf=0xcd2d7d8 "ASSERT: \"d\" in file /usr/include/ksharedptr.h, line 120") at global/qglobal.cpp:2017
#10 0xb5a952d1 in qFatal (msg=0xb5be40d8 "ASSERT: \"%s\" in file %s, line %d") at global/qglobal.cpp:2216
#11 0xb5a953c5 in qt_assert (assertion=0xab9ece29 "d", file=0xab9b376d "/usr/include/ksharedptr.h", line=120) at global/qglobal.cpp:1786
#12 0xab9288b8 in AttachmentIconItem::readAttachment (this=0xcd1dd40) at /usr/include/ksharedptr.h:120
#13 0xab924904 in KOEditorAttachments::addAttachment (this=0xccaab78, attachment=0xcbe9c40) at /build/buildd/kdepim-4.2.3/korganizer/koeditorattachments.cpp:94
#14 0xab9249f4 in KOEditorAttachments::readIncidence (this=0xccaab78, i=0xa9371a0) at /build/buildd/kdepim-4.2.3/korganizer/koeditorattachments.cpp:768
#15 0xab8f4218 in KOEditorGeneral::readIncidence (this=0xcc75378, incidence=0xa9371a0) at /build/buildd/kdepim-4.2.3/korganizer/koeditorgeneral.cpp:475
#16 0xab8f9ae3 in KOEditorGeneralEvent::readEvent (this=0xcc75378, event=0xa9371a0, isTemplate=false) at /build/buildd/kdepim-4.2.3/korganizer/koeditorgeneralevent.cpp:432
#17 0xab8e8b9e in KOEventEditor::readEvent (this=0xa3f98b0, event=0xa9371a0, tmpl=<value optimized out>) at /build/buildd/kdepim-4.2.3/korganizer/koeventeditor.cpp:371
#18 0xab8e9753 in KOEventEditor::editIncidence (this=0xa3f98b0, incidence=0xa9371a0, calendar=0xc4458c0) at /build/buildd/kdepim-4.2.3/korganizer/koeventeditor.cpp:237
#19 0xab8d2346 in CalendarView::editIncidence (this=0xada33e8, incidence=0xa9371a0, isCounter=false) at /build/buildd/kdepim-4.2.3/korganizer/calendarview.cpp:2024
#20 0xab8daa6f in CalendarView::qt_metacall (this=0xada33e8, _c=QMetaObject::InvokeMetaMethod, _id=55, _a=0xbf93089c) at /build/buildd/kdepim-4.2.3/obj-i486-linux-gnu/korganizer/calendarview.moc:440
#21 0xb5ba7a58 in QMetaObject::activate (sender=0xd14ae30, from_signal_index=29, to_signal_index=29, argv=0xbf93089c) at kernel/qobject.cpp:3120
#22 0xb5ba86e2 in QMetaObject::activate (sender=0xd14ae30, m=0xac556c60, local_signal_index=2, argv=0xbf93089c) at kernel/qobject.cpp:3194
#23 0xac554693 in KOrg::BaseView::editIncidenceSignal (this=0xd14ae30, _t1=0xa9371a0) at /build/buildd/kdepim-4.2.3/obj-i486-linux-gnu/korganizer/interfaces/korganizer/baseview.moc:174
#24 0xac554a64 in KOrg::BaseView::qt_metacall (this=0xd14ae30, _c=QMetaObject::InvokeMetaMethod, _id=2, _a=0xbf930a5c)
    at /build/buildd/kdepim-4.2.3/obj-i486-linux-gnu/korganizer/interfaces/korganizer/baseview.moc:121
#25 0xab93548a in KOEventView::qt_metacall (this=0xd14ae30, _c=QMetaObject::InvokeMetaMethod, _id=29, _a=0xbf930a5c) at /build/buildd/kdepim-4.2.3/obj-i486-linux-gnu/korganizer/koeventview.moc:77
#26 0xab86a12a in KOrg::AgendaView::qt_metacall (this=0xd14ae30, _c=QMetaObject::InvokeMetaMethod, _id=29, _a=0xbf930a5c) at /build/buildd/kdepim-4.2.3/obj-i486-linux-gnu/korganizer/agendaview.moc:63
#27 0xab884e1a in KOAgendaView::qt_metacall (this=0xd14ae30, _c=QMetaObject::InvokeMetaMethod, _id=29, _a=0xbf930a5c) at /build/buildd/kdepim-4.2.3/obj-i486-linux-gnu/korganizer/koagendaview.moc:176
#28 0xb5ba7a58 in QMetaObject::activate (sender=0xa8ebbb8, from_signal_index=54, to_signal_index=54, argv=0xbf930a5c) at kernel/qobject.cpp:3120
#29 0xb5ba86e2 in QMetaObject::activate (sender=0xa8ebbb8, m=0xab9f5ab4, local_signal_index=4, argv=0xbf930a5c) at kernel/qobject.cpp:3194
#30 0xab86cbc3 in KOAgenda::editIncidenceSignal (this=0xa8ebbb8, _t1=0xa9371a0) at /build/buildd/kdepim-4.2.3/obj-i486-linux-gnu/korganizer/koagenda.moc:251
#31 0xab872f4a in KOAgenda::eventFilter_mouse (this=0xa8ebbb8, object=0xc556108, me=0xbf930f78) at /build/buildd/kdepim-4.2.3/korganizer/views/agendaview/koagenda.cpp:713
#32 0xab86c066 in KOAgenda::eventFilter (this=0xa8ebbb8, object=0xc556108, event=0xbf930f78) at /build/buildd/kdepim-4.2.3/korganizer/views/agendaview/koagenda.cpp:372
#33 0xb5b909ca in QCoreApplicationPrivate::sendThroughObjectEventFilters (this=0x9506a20, receiver=0xc556108, event=0xbf930f78) at kernel/qcoreapplication.cpp:726
#34 0xb6041baa in QApplicationPrivate::notify_helper (this=0x9506a20, receiver=0xc556108, e=0xbf930f78) at kernel/qapplication.cpp:4053
#35 0xb604a851 in QApplication::notify (this=0xbf9328f8, receiver=0xc556108, e=0xbf930f78) at kernel/qapplication.cpp:3759
#36 0xb6c63e5d in KApplication::notify (this=0xbf9328f8, receiver=0xc556108, event=0xbf930f78) at /build/buildd/kde4libs-4.2.3/kdeui/kernel/kapplication.cpp:307
#37 0xb5b917ab in QCoreApplication::notifyInternal (this=0xbf9328f8, receiver=0xc556108, event=0xbf930f78) at kernel/qcoreapplication.cpp:610
#38 0xb60498be in QApplicationPrivate::sendMouseEvent (receiver=0xc556108, event=0xbf930f78, alienWidget=0xc556108, nativeWidget=0x95ac7e0, buttonDown=0xb68edaa0, lastMouseReceiver=@0xb68edaa4)
    at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#39 0xb60b9aee in QETWidget::translateMouseEvent (this=0x95ac7e0, event=0xbf93260c) at kernel/qapplication_x11.cpp:4448
#40 0xb60b8ead in QApplication::x11ProcessEvent (this=0xbf9328f8, event=0xbf93260c) at kernel/qapplication_x11.cpp:3444
#41 0xb60e406a in x11EventSourceDispatch (s=0x9509600, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#42 0xb4c73b88 in g_main_context_dispatch () from /usr/lib/libglib-2.0.so.0
#43 0xb4c770eb in ?? () from /usr/lib/libglib-2.0.so.0
#44 0xb4c77268 in g_main_context_iteration () from /usr/lib/libglib-2.0.so.0
#45 0xb5bbd1d8 in QEventDispatcherGlib::processEvents (this=0x94ec1b8, flags={i = -1080875064}) at kernel/qeventdispatcher_glib.cpp:324
#46 0xb60e3765 in QGuiEventDispatcherGlib::processEvents (this=0x94ec1b8, flags={i = -1080875016}) at kernel/qguieventdispatcher_glib.cpp:202
#47 0xb5b8fdda in QEventLoop::processEvents (this=0xbf932870, flags={i = -1080874952}) at kernel/qeventloop.cpp:149
#48 0xb5b9021a in QEventLoop::exec (this=0xbf932870, flags={i = -1080874888}) at kernel/qeventloop.cpp:200
#49 0xb5b926c9 in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#50 0xb6041a47 in QApplication::exec () at kernel/qapplication.cpp:3526
#51 0x0804c072 in main (argc=3, argv=0xbf932bf4) at /build/buildd/kdepim-4.2.3/kontact/src/main.cpp:218
Comment 1 Thomas Rehn 2009-06-08 11:33:03 UTC
As the backtrace stops at something attachment related I looked into the vCal file and found the following attachment there:

ATTACH;FMTTYPE=application/html:http://univis.uni-magdeburg.de/prg?search=events&id=90392642
Comment 2 Sergio Martins 2009-06-08 14:15:38 UTC
With debug symbols:

#0  0xffffe424 in __kernel_vsyscall ()                                                                                                       
#1  0x48252a2d in raise (sig=<value optimized out>) at ../nptl/sysdeps/unix/sysv/linux/pt-raise.c:41                                         
#2  0xb6dd4079 in KCrash::defaultCrashHandler (sig=11) at /home/serj/kde/src/KDE/kdelibs/kdeui/util/kcrash.cpp:258                           
#3  <signal handler called>                                                                                                                  
#4  KMimeType::iconName (this=0x0, url=@0xbfaf834c) at /home/serj/kde/src/KDE/kdelibs/kdecore/services/kmimetype.h:48                        
#5  0xb1093c90 in AttachmentIconItem::readAttachment (this=0x8d80540)                                                                        
    at /home/serj/kde/src/KDE/kdepim/korganizer/koeditorattachments.cpp:126                                                                  
#6  0xb108bcf7 in KOEditorAttachments::addAttachment (this=0x8d36728, attachment=0x8a53578)                                                  
    at /home/serj/kde/src/KDE/kdepim/korganizer/koeditorattachments.cpp:75                                                                   
#7  0xb108bdf1 in KOEditorAttachments::readIncidence (this=0x8d36728, i=0x8a63798)                                                           
    at /home/serj/kde/src/KDE/kdepim/korganizer/koeditorattachments.cpp:766                                                                  
#8  0xb105cf1d in KOEditorGeneral::readIncidence (this=0x8c8d4a8, incidence=0x8a63798)                                                       
    at /home/serj/kde/src/KDE/kdepim/korganizer/koeditorgeneral.cpp:480                                                                      
#9  0xb1062549 in KOEditorGeneralEvent::readEvent (this=0x8c8d4a8, event=0x8a63798, isTemplate=false)                                        
    at /home/serj/kde/src/KDE/kdepim/korganizer/koeditorgeneralevent.cpp:462                                                                 
#10 0xb105666e in KOEventEditor::readEvent (this=0x8c6c840, event=0x8a63798, tmpl=false)                                                     
    at /home/serj/kde/src/KDE/kdepim/korganizer/koeventeditor.cpp:383                                                                        
#11 0xb1056fdf in KOEventEditor::editIncidence (this=0x8c6c840, incidence=0x8a63798, calendar=0x89ecef8)                                     
    at /home/serj/kde/src/KDE/kdepim/korganizer/koeventeditor.cpp:249                                                                        
#12 0xb103bf52 in CalendarView::editIncidence (this=0x86326c0, incidence=0x8a63798, isCounter=false)                                         
    at /home/serj/kde/src/KDE/kdepim/korganizer/calendarview.cpp:2132                                                                        
#13 0xb10470c4 in CalendarView::qt_metacall (this=0x86326c0, _c=QMetaObject::InvokeMetaMethod, _id=82, _a=0xbfaf875c)                        
---Type <return> to continue, or q <return> to quit---                                                                                       
    at /home/serj/kde/build/KDE/kdepim/korganizer/calendarview.moc:441                                                                       
#14 0xb67fd898 in QMetaObject::activate (sender=0x8a0a398, from_signal_index=<value optimized out>, to_signal_index=29,                      
    argv=<value optimized out>) at kernel/qobject.cpp:3117                                                                                   
#15 0xb67fdf04 in QMetaObject::activate (sender=0x8a0a398, m=0xb0ecac40, local_signal_index=2, argv=0xbfaf875c) at kernel/qobject.cpp:3194   
#16 0xb0ec7a84 in KOrg::BaseView::editIncidenceSignal (this=0x8a0a398, _t1=0x8a63798)                                                        
    at /home/serj/kde/build/KDE/kdepim/korganizer/interfaces/korganizer/baseview.moc:174                                                     
#17 0xb0ec7e5d in KOrg::BaseView::qt_metacall (this=0x8a0a398, _c=QMetaObject::InvokeMetaMethod, _id=29, _a=0xbfaf88fc)                      
    at /home/serj/kde/build/KDE/kdepim/korganizer/interfaces/korganizer/baseview.moc:121                                                     
#18 0xb10a356a in KOEventView::qt_metacall (this=0x8a0a398, _c=QMetaObject::InvokeMetaMethod, _id=29, _a=0xbfaf88fc)                         
    at /home/serj/kde/build/KDE/kdepim/korganizer/koeventview.moc:78                                                                         
#19 0xb0fdd81a in KOrg::AgendaView::qt_metacall (this=0x8a0a398, _c=QMetaObject::InvokeMetaMethod, _id=29, _a=0xbfaf88fc)                    
    at /home/serj/kde/build/KDE/kdepim/korganizer/agendaview.moc:61                                                                          
#20 0xb0ff6b5a in KOAgendaView::qt_metacall (this=0x8a0a398, _c=QMetaObject::InvokeMetaMethod, _id=29, _a=0xbfaf88fc)                        
    at /home/serj/kde/build/KDE/kdepim/korganizer/koagendaview.moc:174                                                                       
#21 0xb67fd898 in QMetaObject::activate (sender=0x8a06ca0, from_signal_index=<value optimized out>, to_signal_index=39,                      
    argv=<value optimized out>) at kernel/qobject.cpp:3117                                                                                   
#22 0xb67fdf04 in QMetaObject::activate (sender=0x8a06ca0, m=0xb1120c3c, local_signal_index=1, argv=0xbfaf88fc) at kernel/qobject.cpp:3194   
#23 0xb1094494 in KOEventPopupMenu::editIncidenceSignal (this=0x8a06ca0, _t1=0x8a63798)                                                      
    at /home/serj/kde/build/KDE/kdepim/korganizer/koeventpopupmenu.moc:145                                                                   
#24 0xb10944bc in KOEventPopupMenu::popupEdit (this=0x8d274a0) at /home/serj/kde/src/KDE/kdepim/korganizer/koeventpopupmenu.cpp:136          
#25 0xb10950f0 in KOEventPopupMenu::qt_metacall (this=0x8a06ca0, _c=QMetaObject::InvokeMetaMethod, _id=50, _a=0xbfaf8a1c)                    
    at /home/serj/kde/build/KDE/kdepim/korganizer/koeventpopupmenu.moc:117                                                                   
---Type <return> to continue, or q <return> to quit---                                                                                       
#26 0xb67fd898 in QMetaObject::activate (sender=0x8a11010, from_signal_index=<value optimized out>, to_signal_index=6,                       
    argv=<value optimized out>) at kernel/qobject.cpp:3117                                                                                   
#27 0xb67fdcb2 in QMetaObject::activate (sender=0x8a11010, m=0xb6544928, from_local_signal_index=1, to_local_signal_index=2,                 
    argv=0xbfaf8a1c) at kernel/qobject.cpp:3214                                                                                              
#28 0xb5dceaa3 in QAction::triggered (this=0x8a11010, _t1=false) at .moc/debug-shared/moc_qaction.cpp:236                                    
#29 0xb5dcff3d in QAction::activate (this=0x8a11010, event=QAction::Trigger) at kernel/qaction.cpp:1160                                      
#30 0xb62436d0 in QMenuPrivate::activateCausedStack (this=0x8a10958, causedStack=@0xbfaf8b00, action=0x8a11010, action_e=QAction::Trigger,   
    self=true) at widgets/qmenu.cpp:967                                                                                                      
#31 0xb624b838 in QMenuPrivate::activateAction (this=0x8a10958, action=0x8a11010, action_e=QAction::Trigger, self=true)                      
    at widgets/qmenu.cpp:1060                                                                                                                
#32 0xb624c33a in QMenu::mouseReleaseEvent (this=0x8a06ca0, e=0xbfaf91f0) at widgets/qmenu.cpp:2254                                          
#33 0xb5e2a11c in QWidget::event (this=0x8a06ca0, event=0xbfaf91f0) at kernel/qwidget.cpp:7521                                               
#34 0xb624938f in QMenu::event (this=0x8a06ca0, e=0xbfaf91f0) at widgets/qmenu.cpp:2353                                                      
#35 0xb5dd593f in QApplicationPrivate::notify_helper (this=0x807e1e8, receiver=0x8a06ca0, e=0xbfaf91f0) at kernel/qapplication.cpp:4057
#36 0xb5ddccef in QApplication::notify (this=0xbfafa9c4, receiver=0x8a06ca0, e=0xbfaf91f0) at kernel/qapplication.cpp:3759
#37 0xb6d63aaa in KApplication::notify (this=0xbfafa9c4, receiver=0x8a06ca0, event=0xbfaf91f0)
    at /home/serj/kde/src/KDE/kdelibs/kdeui/kernel/kapplication.cpp:302
#38 0xb67e6f4a in QCoreApplication::notifyInternal (this=0xbfafa9c4, receiver=0x8a06ca0, event=0xbfaf91f0)
    at kernel/qcoreapplication.cpp:606
#39 0xb5ddc53a in QApplicationPrivate::sendMouseEvent (receiver=0x8a06ca0, event=0xbfaf91f0, alienWidget=0x0, nativeWidget=0x8a06ca0,
    buttonDown=0xb6563200, lastMouseReceiver=@0xb6563204) at ../../include/QtCore/../../src/corelib/kernel/qcoreapplication.h:216
#40 0xb5e453ff in QETWidget::translateMouseEvent (this=0x8a06ca0, event=0xbfafa6ac) at kernel/qapplication_x11.cpp:4382
---Type <return> to continue, or q <return> to quit---
#41 0xb5e44866 in QApplication::x11ProcessEvent (this=0xbfafa9c4, event=0xbfafa6ac) at kernel/qapplication_x11.cpp:3444
#42 0xb5e6b8e4 in x11EventSourceDispatch (s=0x8079b00, callback=0, user_data=0x0) at kernel/qguieventdispatcher_glib.cpp:146
#43 0xb540523d in IA__g_main_context_dispatch (context=0x807e2a8) at gmain.c:1814
#44 0xb5408463 in g_main_context_iterate (context=0x807e2a8, block=1, dispatch=1, self=0x807d9e8) at gmain.c:2448
#45 0xb5408955 in IA__g_main_context_iteration (context=0x807e2a8, may_block=1) at gmain.c:2511
#46 0xb6812e08 in QEventDispatcherGlib::processEvents (this=0x8071540, flags=@0xbfafa8b8) at kernel/qeventdispatcher_glib.cpp:324
#47 0xb5e6b685 in QGuiEventDispatcherGlib::processEvents (this=0x8071540, flags=@0xbfafa8e8) at kernel/qguieventdispatcher_glib.cpp:202
#48 0xb67e604d in QEventLoop::processEvents (this=0xbfafa950, flags=@0xbfafa928) at kernel/qeventloop.cpp:149
#49 0xb67e61fa in QEventLoop::exec (this=0xbfafa950, flags=@0xbfafa958) at kernel/qeventloop.cpp:196
#50 0xb67e86aa in QCoreApplication::exec () at kernel/qcoreapplication.cpp:888
#51 0xb5dd4ee7 in QApplication::exec () at kernel/qapplication.cpp:3526
#52 0x0804baf4 in main (argc=1, argv=0xbfafabc4) at /home/serj/kde/src/KDE/kdepim/kontact/src/main.cpp:218
Comment 3 Sergio Martins 2009-06-08 14:18:28 UTC
I reproduced it with the line in comment #1.

Thomas, which application generated the original ics file?
Comment 4 Thomas Rehn 2009-06-08 14:23:34 UTC
I've downloaded the vCal file from a subpage of http://univis.uni-magdeburg.de The web application, UnivIS, is a course planning/management tool used by some German universities.
Comment 5 Sergio Martins 2009-06-08 14:25:32 UTC
Valgrind Report:

==14328== Invalid read of size 4                                                                                                             
==14328==    at 0x511120D: KMimeType::iconName(KUrl const&) const (kmimetype.h:48)                                                           
==14328==    by 0x4867C8F: AttachmentIconItem::readAttachment() (koeditorattachments.cpp:126)                                                
==14328==    by 0x485FCF6: KOEditorAttachments::addAttachment(KCal::Attachment*) (koeditorattachments.cpp:75)                                
==14328==    by 0x485FDF0: KOEditorAttachments::readIncidence(KCal::Incidence*) (koeditorattachments.cpp:766)                                
==14328==    by 0x4830F1C: KOEditorGeneral::readIncidence(KCal::Incidence*) (koeditorgeneral.cpp:480)                                        
==14328==    by 0x4836548: KOEditorGeneralEvent::readEvent(KCal::Event*, bool) (koeditorgeneralevent.cpp:462)                                
==14328==    by 0x482A66D: KOEventEditor::readEvent(KCal::Event*, bool) (koeventeditor.cpp:383)                                              
==14328==    by 0x482AFDE: KOEventEditor::editIncidence(KCal::Incidence*, KCal::Calendar*) (koeventeditor.cpp:249)                           
==14328==    by 0x480FF51: CalendarView::editIncidence(KCal::Incidence*, bool) (calendarview.cpp:2132)                                       
==14328==    by 0x481B0C3: CalendarView::qt_metacall(QMetaObject::Call, int, void**) (calendarview.moc:441)                                  
==14328==    by 0x53FE897: QMetaObject::activate(QObject*, int, int, void**) (qobject.cpp:3117)                                              
==14328==    by 0x53FEF03: QMetaObject::activate(QObject*, QMetaObject const*, int, void**) (qobject.cpp:3194)                               
==14328==  Address 0x8 is not stack'd, malloc'd or (recently) free'd
Comment 6 Sergio Martins 2009-06-08 21:47:09 UTC
SVN commit 979039 by smartins:


Don't always trust the attachment's mimeType, it can be invalid.

BUG: 195654


 M  +3 -4      koeditorattachments.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=979039
Comment 7 Thomas McGuire 2009-06-10 15:43:52 UTC
SVN commit 979712 by tmcguire:

Crossport r979039 by smartins from trunk to the enterprise4 branch:


Don't always trust the attachment's mimeType, it can be invalid.

CCBUG: 195654



 M  +3 -4      koeditorattachments.cpp  


WebSVN link: http://websvn.kde.org/?view=rev&revision=979712