Я пишу клиентское приложение, которое связывается с серверным приложением через сокеты.В настоящее время я испытываю странное поведение, когда приложение завершает работу должным образом, но затем я получаю много строк, подобных приведенным ниже на экране.
*** glibc detected *** ./sll_client: free(): invalid next size (fast): 0x0000000000787720 ***
======= Backtrace: =========
/lib/x86_64-linux-gnu/libc.so.6(+0x78a8f)[0x7f9e9cbb5a8f]
/lib/x86_64-linux-gnu/libc.so.6(cfree+0x73)[0x7f9e9cbb98e3]
/usr/lib/x86_64-linux-gnu/libstdc++.so.6(_ZNSsD1Ev+0x39)[0x7f9e9d409019]
======= Memory map: ========
7f9e9d893000-7f9e9d895000 rw-p 00021000 07:00 7473 /lib/x86_64-linux- gnu/ld-2.13.so
7fff68119000-7fff6813a000 rw-p 00000000 00:00 0 [stack]
7fff68167000-7fff68168000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
Aborted
Конкретная ошибка «glibc» меняется почти каждый раз.
Я уже запускал приложение через Valgrind, и утечки памяти почти не обнаружены.Те, что там, похоже, не вызывают никаких проблем.Есть ли общая причина этой проблемы?Я мог бы опубликовать некоторый код, но это более трех тысяч строк C ++, и впервые за три недели эта проблема возникла.
Вывод Valgrind
Вывод GDB