Summary: | Akonadi crashes when sharing .cal File with ktimetracker | ||
---|---|---|---|
Product: | [Frameworks and Libraries] Akonadi | Reporter: | Matthias Horn <matthias.horn> |
Component: | general | Assignee: | Volker Krause <vkrause> |
Status: | RESOLVED NOT A BUG | ||
Severity: | crash | CC: | kdepim-bugs, krammer, matthias.horn |
Priority: | NOR | ||
Version: | unspecified | ||
Target Milestone: | --- | ||
Platform: | openSUSE | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: | ||
Sentry Crash Report: | |||
Attachments: | New crash information added by DrKonqi |
Description
Matthias Horn
2010-07-29 08:30:02 UTC
Created attachment 49621 [details]
New crash information added by DrKonqi
Crashed again. I just opened ical file in ktimetracker and when saving it (without chan
ching anything, akonadi crashed.
Hej Matthias, you should _not_ let two applications (Akonadi KCal Resource and KTimeTracker) access the same file. This will lead to data corruption, because there is no locking mechanism available between these two applications. KTimeTracker should use Akonadi to access the ical file, then Akonadi can do proper locking and conflict resolution. Ciao, Tobias I don't think this is invalid. The reported version is 4.4, which means even KOrganizer would still be accessing the calendar files along side any Akonadi resource. And there shouldn't be any data corruption if the two using parties write to a temporary file and rename to the orginal name (which is likely for ical). There could be entries lost if both write at the same time due to overwriting each others changes, but the resulting data should still be readable. I see that the first backtrace is from the Akonadi KCal Resource, while the second is from Kontact. Matthias: you have the calendar files used by all three apps, right? KTimetracker, Kontact and the Akonadi resource? If you don't need it in Akonadi, you could remove the Akonadi resource and reassign this to Kontact/KOrganizer. If you need it, try using an Akonadi ICal resource instead (the KCal one needs to go through compatibility wrappers and can get into corner cases where plugins behave strangely). |