Debian で apt-cache 使ったら Abort する
Debian を lenny から squeeze にアップグレード後, apt-cache でパッケージを探すたびに Abort するようになった. apt-get clean でローカルのリポジトリをクリアすれば解決した.
例
apt-cache を実行すると,
~% apt-cache search k3b k3b-data - A sophisticated KDE CD burning application - data files libk3b-dev - The KDE cd burning application library - development files libk3b3-extracodecs - The KDE cd burning application library - extra decoders libk3b3 - The KDE cd burning application library - runtime files juk - music jukebox for KDE 4 apt-cache: malloc.c:3096: sYSMALLOc: Assertion `(old_top == (((mbinptr) (((char *) &((av)->bins[((1) - 1) * 2])) - __builtin_offsetof (struct malloc_chunk, fd)))) && old_size == 0) || ((unsigned long) (old_size) >= (unsigned long)((((__builtin_offsetof (struct malloc_chunk, fd_nextsize))+((2 * (sizeof(size_t))) - 1)) & ~((2 * (sizeof(size_t))) - 1))) && ((old_top)->size & 0x1) && ((unsigned long)old_end & pagemask) == 0)' failed. Abort
こんな感じで落ちる.メモリ関係のトラブルらしい.
対策
~% sudo apt-get clean
を実行して,ローカルのリポジトリをクリアする.で,
harry:~% sudo apt-get update
を実行してパッケージインデクスファイルの同期を取る.
これで,
harry:~% apt-cache search k3b k3b-i18n - Internationalized (i18n) files for k3b k3b-data - A sophisticated KDE CD burning application - data files k3b - A sophisticated KDE CD burning application libk3b-dev - The KDE cd burning application library - development files libk3b3-extracodecs - The KDE cd burning application library - extra decoders libk3b3 - The KDE cd burning application library - runtime files juk - music jukebox for KDE 4 quodlibet-plugins - various contributed plugins for Quod Libet
無事 abort しなくなった.