malloc(): memory corruption: Как лечить?

opaHzheBb1u
На сайте с 26.05.2006
Offline
168
4779

Приветствую.

При запуске приложение прерывается с такой ошибкой:

*** glibc detected *** ./chatserver.release: malloc(): memory corruption: 0x092a3b78 ***

======= Backtrace: =========

/lib/tls/i686/cmov/libc.so.6[0xb7bb9ef3]

/lib/tls/i686/cmov/libc.so.6(__libc_malloc+0x7e)[0xb7bbb60e]

/usr/lib/libmysqlclient.so.12(my_malloc+0x2d)[0xb7d7c48d]

/usr/lib/libmysqlclient.so.12(vio_new+0x31)[0xb7da6431]

/usr/lib/libmysqlclient.so.12(mysql_real_connect+0xad7)[0xb7da34b7]

./chatserver.release[0x812692f]

./chatserver.release[0x812726f]

./chatserver.release[0x8127d9c]

./chatserver.release[0x853f001]

./chatserver.release[0x8084e65]

./chatserver.release[0x80e49a9]

./chatserver.release[0x80e7e6b]

./chatserver.release[0x80580c9]

./chatserver.release[0x815382c]

/lib/tls/i686/cmov/libc.so.6(__libc_start_main+0xdc)[0xb7b67ebc]

./chatserver.release(mysql_fetch_lengths+0x41)[0x804b631]

======= Memory map: ========

08048000-08f2b000 r-xp 00000000 08:01 6375717 /var/www/happy/chat/chatserver.release

08f2b000-0923a000 rwxp 00ee2000 08:01 6375717 /var/www/happy/chat/chatserver.release

0923a000-092cf000 rwxp 0923a000 00:00 0 [heap]

b7900000-b7921000 rwxp b7900000 00:00 0

b7921000-b7a00000 ---p b7921000 00:00 0

b7af3000-b7afe000 r-xp 00000000 08:01 18710592 /lib/libgcc_s.so.1

b7afe000-b7aff000 rwxp 0000a000 08:01 18710592 /lib/libgcc_s.so.1

b7b0b000-b7b0c000 rwxp b7b0b000 00:00 0

b7b0c000-b7b1f000 r-xp 00000000 08:01 18713839 /lib/tls/i686/cmov/libnsl-2.5.so

b7b1f000-b7b21000 rwxp 00012000 08:01 18713839 /lib/tls/i686/cmov/libnsl-2.5.so

b7b21000-b7b24000 rwxp b7b21000 00:00 0

b7b24000-b7b29000 r-xp 00000000 08:01 18713832 /lib/tls/i686/cmov/libcrypt-2.5.so

b7b29000-b7b2b000 rwxp 00004000 08:01 18713832 /lib/tls/i686/cmov/libcrypt-2.5.so

b7b2b000-b7b52000 rwxp b7b2b000 00:00 0

b7b52000-b7c8d000 r-xp 00000000 08:01 18713828 /lib/tls/i686/cmov/libc-2.5.so

b7c8d000-b7c8e000 r-xp 0013b000 08:01 18713828 /lib/tls/i686/cmov/libc-2.5.so

b7c8e000-b7c90000 rwxp 0013c000 08:01 18713828 /lib/tls/i686/cmov/libc-2.5.so

b7c90000-b7c93000 rwxp b7c90000 00:00 0

b7c93000-b7cb8000 r-xp 00000000 08:01 18713836 /lib/tls/i686/cmov/libm-2.5.so

b7cb8000-b7cba000 rwxp 00024000 08:01 18713836 /lib/tls/i686/cmov/libm-2.5.so

b7cba000-b7cf3000 r-xp 00000000 08:01 10112899 /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so

b7cf3000-b7d00000 rwxp 00038000 08:01 10112899 /usr/lib/libstdc++-3-libc6.2-2-2.10.0.so

b7d00000-b7d02000 rwxp b7d00000 00:00 0

b7d02000-b7d07000 r-xp 00000000 08:01 10110702 /usr/lib/libgdbm.so.3.0.0

b7d07000-b7d08000 rwxp 00004000 08:01 10110702 /usr/lib/libgdbm.so.3.0.0

b7d08000-b7d1b000 r-xp 00000000 08:01 10111208 /usr/lib/libz.so.1.2.3

b7d1b000-b7d1c000 rwxp 00012000 08:01 10111208 /usr/lib/libz.so.1.2.3

b7d1c000-b7d1d000 rwxp b7d1c000 00:00 0

b7d1d000-b7d30000 r-xp 00000000 08:01 18713854 /lib/tls/i686/cmov/libpthread-2.5.so

b7d30000-b7d32000 rwxp 00013000 08:01 18713854 /lib/tls/i686/cmov/libpthread-2.5.so

b7d32000-b7d34000 rwxp b7d32000 00:00 0

b7d34000-b7ed0000 r-xp 00000000 08:01 10109476 /usr/lib/libmysqlclient.so.15.0.0

b7ed0000-b7f14000 rwxp 0019c000 08:01 10109476 /usr/lib/libmysqlclient.so.15.0.0

b7f14000-b7f15000 rwxp b7f14000 00:00 0

b7f15000-b7f1e000 r-xp 00000000 08:01 18713845 /lib/tls/i686/cmov/libnss_files-2.5.so

b7f1e000-b7f20000 rwxp 00008000 08:01 18713845 /lib/tls/i686/cmov/libnss_files-2.5.so

b7f20000-b7f23000 rwxp b7f20000 00:00 0

b7f23000-b7f3c000 r-xp 00000000 08:01 18710549 /lib/ld-2.5.so

b7f3c000-b7f3e000 rwxp 00019000 08:01 18710549 /lib/ld-2.5.so

bfa07000-bfa1c000 rwxp bfa07000 00:00 0 [stack]

ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]

Aborted (core dumped)

в чем может быть проблема?

Спасибо

OZE
На сайте с 21.05.2006
Offline
152
OZE
#1

погуглил чуток

вот более менее грамотный ответ:

Probably you are either writing outside the bounds of a block of
memory that you have malloc()ed, are you are using a block after you
have free()d it.

Most operating systems have tools available to help you find such bugs.
It looks like you're using Linux: "man -k malloc" may help you find
some.

исходники есть? походу бага в программе - работа с освобожденной памятью или выход за границы выделенной памяти

Artisan
На сайте с 04.03.2005
Offline
353
#2

http://www.ogre3d.org/wiki/index.php/Heap_Corruption

A heap corruption means that some command of your application overwrote some of the data in the heap. If another command of your application wants to access that data now, it will get bad data.

Ошибка в программе, известите ее автора, ...

www.leak.info / ДАРОМ линки конкурентов и забытых доменов
Andreyka
На сайте с 19.02.2005
Offline
822
#3

preload, libsafe - стоят? Убирайте.

Не стоит плодить сущности без необходимости
opaHzheBb1u
На сайте с 26.05.2006
Offline
168
#4
OZE:
исходники есть?

нет к сожалению

Artisan:
Ошибка в программе, известите ее автора, ...

нереально, контакты давно устарели

Andreyka:
preload, libsafe - стоят? Убирайте.

Подробнее расскажите, пожалуйста :(

Andreyka
На сайте с 19.02.2005
Offline
822
#5

Мало исходных данных

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий