[sisyphus] KMail и адресная книга

Epiphanov Sergei =?iso-8859-1?q?serpiph_=CE=C1_nikiet=2Eru?=
Пн Июн 23 15:37:25 MSD 2008


Сегодня поймал такую проблему: после обновления системы месяц назад у меня 
начал тормозить VMware при запуске системы. Долго не мог понять, а сегодня, 
похоже, наткнулся на корень, когда KMail начал падать по причине нехватки 
памяти. И это при том, что доступны 2Гб оперативки и 4Гб свопа. После 5 
часов поиска нашёл причину падения: слишком большой файл 
~/.kde/share/apps/kabc/std.vcf, целых 233Мб. Это адресная книга 
KAddressBook. Поиск причины показал, что в 2006 году в одной из VCARD 
программой kaddressbook была создана строка вида:

X-ADDRESSBOOK-<русский текст в UTF8>:текст

И вот эта-то строка после обновления (а точнее тот самый <русский текст в 
UTF8>) начала становиться всё больше и больше! Пока, в конце-концов, не 
привела к тому, что KMail при попытке прочесть список номеров падал от того, 
что не мог выделить память для всех записей VCARD. Конечный результат таков:

X-ADDRESSBOOK-0xC3 0x83 0xC2 0x82 0xC3 0x82 0xC2 0x82 0xC3 0x83 0xC2 0x83 
0xC3 0x82 0xC2 0x82...:текст

Надо только заменить представленные hex-коды на байты и убрать пробелы. 
Кстати, изначально строка представляла собой запись (в форме UTF8):

X-ADDRESSBOOK-имя-в-девичестве:Имя

Пишу на всякий случай, чтобы и другие знали о таком подводном камне.

-- 
С уважением, Епифанов Сергей


Подробная информация о списке рассылки Sisyphus