Bug 279322

Summary: KMyMoney plugin Calendar Export crashes Plasma Desktop on Program Open.
Product: [Frameworks and Libraries] Akonadi Reporter: Harry <harryl>
Component: generalAssignee: kdepim bugs <kdepim-bugs>
Status: RESOLVED FIXED    
Severity: crash CC: anders.karlsson, asraniel, cc, ingo, kmymoney-devel, matija, onet.cristian, tbaumgart, thomas
Priority: NOR    
Version: unspecified   
Target Milestone: ---   
Platform: Ubuntu   
OS: Linux   
Latest Commit: Version Fixed In: 4.7.4
Attachments: New crash information added by DrKonqi

Description Harry 2011-08-03 19:56:22 UTC
Version:           4.5.3 (using KDE 4.7.0) 
OS:                Linux

This is on an Acer 5532-5535 laptop. Kubuntu 11.04 with the KDE 4.7.0 Upgrade.

I had my settings in KMyMoney utilizing the KOrganizer Calendar Plugin. There were no problems with this with KDE 4.6. Up until this update I have had no bug problems with the program.

Opening KMyMoney after upgrade to KDE 4.7.0 crashed the Plasma Desktop ( Black screen, Panel disappears.)

The KMyMoney program works fine until closing then no way to get the Desktop except for Ctrl-Alt-Del to get Popup for Logout/Quit/Restart.

Last opening of program, I unchecked the plugin for KOrganizer. Program now functions normally without the Desktop Crash.

I believe this is more with Akonadi and DBus functions to Korganizer since the calendar is now all Akonadi. I had to tinker with Kontact/KOrganizer after the 4.7.0 upgrade to get that to behave.


Reproducible: Always

Steps to Reproduce:
Re-use the KOrganizer plugin via the KMyMoney settings.

Actual Results:  
Repeated the Crash. 

Expected Results:  
The Program should have functioned without the Desktop crashing.

I believe that the plugin for accessing the KOrganizer calendar is doing what it was designed to do up to the 4.6 Release. Since many changes were done to the backends in Kontact/Kmail/Korganizer with the 4.7.0 release. There may be an illegal call from the plugin (Which was not earlier) that is crashing one of the Akonadi backend functions, triggering the Desktop Crash. This Crash also happened with Kontact before I got the Sources for the Calendar correct.
Comment 1 Cristian Oneț 2011-08-04 05:27:21 UTC
I appreciate the detail in which this bug is described and I have even experienced it but I think this is a bug in Plasma Desktop's calendar integration code. I will try to get a backtrace of this.

What the KMyMoney plugin is doing is to keep an ical file up to date with it's schedules. If this is not the correct way of exporting a calendar let us know. Until them I'm reassigning it to plasma since the crash occurs there and maybe they'll figure out what's wrong in the calendar integration.
Comment 2 Cristian Oneț 2011-08-04 05:31:39 UTC
As a hint plasma desktop always crashes when I'm getting the calendar file notification changed on disk while there are changes pending in Akonadi. I don't have an Ideea what changes could Akonadi have to that file since the only data source of the file is KMyMoney.
Comment 3 Cristian Oneț 2011-08-04 05:51:30 UTC
Created attachment 62524 [details]
New crash information added by DrKonqi

plasma-desktop (0.4) on KDE Platform 4.7.40 (4.7.40 (KDE 4.8 >= 200110623) using Qt 4.7.1

Here is the backtrace, it looks like the crash occurs in Akonadi. Feel free to re-assign it if the bug is in Akonadi.

-- Backtrace (Reduced):
#11 0x00007f3c0a9d304b in qt_assert (assertion=0x7f3be9d43f40 "m_collections.contains( collection.id() )", file=0x7f3be9d43de0 "/home/kde-devel/kdesrc/kdepimlibs/akonadi/entitytreemodel_p.cpp", line=1024) at /home/kde-devel/kdesrc/qt-copy/src/corelib/global/qglobal.cpp:2027
#12 0x00007f3be9c908b8 in Akonadi::EntityTreeModelPrivate::monitoredItemRemoved (this=0x1260b60, item=...) at /home/kde-devel/kdesrc/kdepimlibs/akonadi/entitytreemodel_p.cpp:1024
#13 0x00007f3be9c86ca5 in Akonadi::EntityTreeModel::qt_metacall (this=0x963b10, _c=QMetaObject::InvokeMetaMethod, _id=<value optimized out>, _a=0x7fffde6ba700) at /home/kde-devel/kdesrc/build/kdepimlibs/akonadi/entitytreemodel.moc:168
[...]
#16 0x00007f3be9cc7a95 in Akonadi::Monitor::itemRemoved (this=0x2ebc, _t1=<value optimized out>) at /home/kde-devel/kdesrc/build/kdepimlibs/akonadi/monitor.moc:190
#17 0x00007f3be9cca3ac in Akonadi::MonitorPrivate::emitItemNotification (this=0x12af7d0, msg=..., item=<value optimized out>, collection=<value optimized out>, collectionDest=<value optimized out>) at /home/kde-devel/kdesrc/kdepimlibs/akonadi/monitor_p.cpp:525
Comment 4 Beat Wolf 2011-08-05 15:10:37 UTC
looks like a crash in akonadi
Comment 5 Alvaro Soliverez 2011-08-06 02:57:07 UTC
I had a similar crash in Kontact after setting up a resource to import iCal files from Google calendar. It's probably related, as the KMyMoney plugin tries to import an iCal file too.
Comment 6 Matija Šuklje 2011-08-18 18:19:18 UTC
The same occurs with me on Gentoo and at least these versions:

KMyMoney 4.5.3
KDE 4.7.0
KDEPIM 4.7.0
Akonadi 1.6.0
Comment 7 David E. Narvaez 2011-11-20 21:34:42 UTC
Git commit 44a9c26b9eb27df8297618764f988972d476dc84 by David E. Narváez.
Committed on 20/11/2011 at 22:31.
Pushed by narvaez into branch 'master'.

Drop InvisibleCollectionFetch in Favor of KDescendantsProxyModel

As the InvisibleCollectionFetch fetch strategy is currently broken, I
implemented a suggestion by Christian Mollekopf of working around the
issues by flatting the model through a KDescendantsProxyModel to fix
crashes in Plasma related to calendars.

BUG: 279322
FIXED-IN: 4.7.4

CCMAIL: chrigi_1@fastmail.fm
REVIEW: 103088

M  +8    -2    plasma/generic/dataengines/calendar/calendarengine.cpp

http://commits.kde.org/kde-workspace/44a9c26b9eb27df8297618764f988972d476dc84
Comment 8 Aaron J. Seigo 2011-11-21 09:08:08 UTC
*** Bug 282450 has been marked as a duplicate of this bug. ***
Comment 9 Aaron J. Seigo 2011-11-21 09:15:29 UTC
*** Bug 284860 has been marked as a duplicate of this bug. ***
Comment 10 Aaron J. Seigo 2011-11-21 09:16:08 UTC
*** Bug 279101 has been marked as a duplicate of this bug. ***
Comment 11 Thijs 2012-01-03 07:55:07 UTC
*** Bug 290391 has been marked as a duplicate of this bug. ***