Сбой сервера C ++ с abort () в _UTF8_init () на free () - PullRequest
0 голосов
/ 11 октября 2011

У меня проблемы с кодом C ++, загруженным через dlopen () сервером C ++ CGI.Через некоторое время программа неожиданно падает, но постоянно при вызове функций управления памятью (таких как free (), calloc () и т. Д.) И создает дамп ядра, подобный следующему:

#0  0x0000000806b252dc in kill () from /lib/libc.so.6
#1  0x0000000804a1861e in raise () from /lib/libpthread.so.2
#2  0x0000000806b2416d in abort () from /lib/libc.so.6
#3  0x0000000806abdb45 in _UTF8_init () from /lib/libc.so.6
#4  0x0000000806abdfcc in _UTF8_init () from /lib/libc.so.6
#5  0x0000000806abeb1d in _UTF8_init () from /lib/libc.so.6
... the rest of the stack

Кто-нибудь виделчто-то вроде этого раньше?

Что такое _UTF8_init () и почему функции управления памятью вызывают его?

1 Ответ

3 голосов
/ 11 октября 2011

Это пахнет как поврежденная куча, вероятно, из-за переполнения буфера где-то в вашем коде.Попробуйте запустить вашу программу с Valgrind и найдите все ошибки или предупреждения, которые она издает.

...