In my last post, I found out that my parsed calendar.ics file consumes more than 7MB in memory. I decided to look on eds with massif. As I have only this one calendar in Evolution, I expected to get similar results. Here is the massif graph I got:

EDS under massif

EDS under massif

It’s about 13.8 MB. Looking closer on massif logs, I found out, that almost all allocations were done in method  e_cal_backend_file_open. Next investigations 🙂 led to the finding, that files $HOME/.evolution/calendar/local/system/tasks.ics and $HOME/.evolution/memos/local/system/journal.ics should be blamed for that.

Now, the most interesting thing is the content of those files. Both files contain only time zones. A lot of copies of the same time zone. Is that a feature or a bug ? 🙂


slusny@turret:~/.evolution$ grep BEGIN:VTIMEZONE ~/.evolution/tasks/local/system/tasks.ics | wc -l
538
slusny@turret:~/.evolution$ grep "TZID:/softwarestudio.org/Olson_20011030_5/Africa/Algiers" ~/.evolution/tasks/local/system/tasks.ics | wc -l
318
slusny@turret:~/.evolution$ grep BEGIN:VTIMEZONE /home/slusny/.evolution/memos/local/system/journal.ics | wc -l
814

Here is the massif graph, when I removed these two files:

EDS under massif with removed journal.ics and tasks.ics

EDS under massif with removed journal.ics and tasks.ics

Note 1.8.2008: Files journal.ics and tasks.ics are growing only when eds is restarted (either it was killed or segfaulted…).

To reproduce the bug, it is enough to re-run the evolution and activate the calendar view.