Уже не первый раз сталкиваюсь с совершенно непонятной мне ошибкой. Суть в том, что при некоторых уж очень странных обстоятельствах программа при завершении своей работы выдает такое (конец чуть обрезал, там много однообразного):
*** glibc detected *** mpkg: corrupted double-linked list: 0x0902f018 ***
======= Backtrace: =========
/lib/libc.so.6(+0x701c4)[0xb732c1c4]
/lib/libc.so.6(+0x733d0)[0xb732f3d0]
/lib/libc.so.6(cfree+0x72)[0xb7332492]
/lib/libc.so.6(+0x2ee6d)[0xb72eae6d]
/lib/libc.so.6(+0x2eeaf)[0xb72eaeaf]
/lib/libc.so.6(__libc_start_main+0xed)[0xb72d2b9d]
mpkg[0x80507c1]
======= Memory map: ========
08048000-08069000 r-xp 00000000 08:05 3092 /usr/bin/mpkg
08069000-0806a000 rw-p 00021000 08:05 3092 /usr/bin/mpkg
0902f000-0a21d000 rw-p 00000000 00:00 0 [heap]
b6c00000-b6c21000 rw-p 00000000 00:00 0
b6c21000-b6d00000 ---p 00000000 00:00 0
b6d46000-b6d71000 r--p 00000000 08:05 50483 /usr/share/locale/ru/LC_MESSAGES/libc.mo
b6d71000-b6d9b000 r--p 00000000 08:05 600 /usr/share/locale/ru/LC_MESSAGES/mpkg.mo
b6d9b000-b6dda000 r--p 00000000 08:05 57950 /usr/lib/locale/ru_RU.utf8/LC_CTYPE
b6dda000-b6ddc000 rw-p 00000000 00:00 0
b6ddc000-b6df2000 r-xp 00000000 08:05 112741 /lib/libpthread-2.11.so
b6df2000-b6df3000 r--p 00015000 08:05 112741 /lib/libpthread-2.11.so
b6df3000-b6df4000 rw-p 00016000 08:05 112741 /lib/libpthread-2.11.so
b6df4000-b6df7000 rw-p 00000000 00:00 0
Условия при которых такое случается - очень странные: сейчас это дело происходит исключительно если в директории есть директория с определенным именем, причем это имя никак с самой программой не связано.
Подскажите, что это, и как это отлаживать?
Уже начинаю грешить на баг в glibc, но интуиция подсказывает что это таки моя ошибка.