[FUG-BR] chunk already is free()
Rodrigo Salvador
rodrigo_salvador em allnet.com.br
Segunda Março 26 09:42:32 BRT 2007
Caros,
tenho um programa escrito em c++, que utiliza Threads com a lib
ulxmlrpcpp e é executado como WebService em um FreeBSD 6.1. Tenho também
inúmeras classes que definem as funções publicadas para o WebService, e
essas classes manipulam arquivos e algumas vezes executam um comando no
shell (via system()).
Entretando algumas vezes o programa quebra com a mensagem "chunk already
is free()", e não estou conseguindo identificar o ponto onde isso ocorre.
Tomei o cuidado de colocar log em todas as linhas para rastrear o ponto
da falha, mas não tive resultado.
A edição de arquivos é feita usando um esquema de lock para concorrência
de edição de arquivo.
Aloquei todos os objetos usando "new" e "delete", mas também não resolveu.
Procurei inúmeras vezes no google sobre a origem desta falha, mas ainda
não achei. Alguém pode me dar uma luz e apontar onde devo olhar ?!
Segue o conteúdo do core gerado.
gdb /usr/sbin/flydnsd flydnsd.core
GNU gdb 6.1.1 [FreeBSD]
Copyright 2004 Free Software Foundation, Inc.
GDB is free software, covered by the GNU General Public License, and you are
welcome to change it and/or distribute copies of it under certain
conditions.
Type "show copying" to see the conditions.
There is absolutely no warranty for GDB. Type "show warranty" for details.
This GDB was configured as "i386-marcel-freebsd"...(no debugging symbols
found)...
Core was generated by `flydnsd'.
Program terminated with signal 6, Aborted.
Reading symbols from /lib/libmd.so.2...(no debugging symbols found)...done.
Loaded symbols for /lib/libmd.so.2
Reading symbols from /usr/local/lib/libulxmlrpcpp.so.13...(no debugging
symbols found)...done.
Loaded symbols for /usr/local/lib/libulxmlrpcpp.so.13
Reading symbols from /usr/lib/libstdc++.so.4...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libstdc++.so.4
Reading symbols from /lib/libm.so.3...(no debugging symbols found)...done.
Loaded symbols for /lib/libm.so.3
Reading symbols from /lib/libc.so.5...(no debugging symbols found)...done.
Loaded symbols for /lib/libc.so.5
Reading symbols from /usr/lib/libpthread.so.1...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libpthread.so.1
Reading symbols from /usr/local/lib/libexpat.so.6...(no debugging
symbols found)...done.
Loaded symbols for /usr/local/lib/libexpat.so.6
Reading symbols from /lib/libcrypto.so.3...(no debugging symbols
found)...done.
Loaded symbols for /lib/libcrypto.so.3
Reading symbols from /usr/lib/libssl.so.3...(no debugging symbols
found)...done.
Loaded symbols for /usr/lib/libssl.so.3
Reading symbols from /libexec/ld-elf.so.1...(no debugging symbols
found)...done.
Loaded symbols for /libexec/ld-elf.so.1
#0 0x2833f31b in pthread_testcancel () from /usr/lib/libpthread.so.1
(gdb) where
#0 0x2833f31b in pthread_testcancel () from /usr/lib/libpthread.so.1
#1 0x2832e54b in sigaction () from /usr/lib/libpthread.so.1
#2 0x2832e260 in sigaction () from /usr/lib/libpthread.so.1
#3 0x28337902 in pthread_mutexattr_init () from /usr/lib/libpthread.so.1
#4 0x00000000 in ?? ()
(gdb)
vlw
Rodrigo
Mais detalhes sobre a lista de discussão freebsd