Erro ... glibc detected

1. Erro ... glibc detected

Vinicius Wellington
VWcoelho

(usa Slackware)

Enviado em 13/05/2008 - 09:10h

Boa dia...

Uso a distro. Slackware 12, kernel 2.6.21, estou com o seguinte problema...

Estou trabalhando com um programa em C/c++, quando vou compila-lo não da erro, porém quando vou executá-lo aparece a seguinte mensagem:
*** glibc detected *** ./IDS: free(): invalid pointer: 0x08059ff4 ***
======= Backtrace: =========
/lib/libc.so.6[0xb7d1bc23]
/lib/libc.so.6(cfree+0x90)[0xb7d1f0f0]
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7ed72b1]
/usr/lib/libstdc++.so.6(_ZNSs4_Rep10_M_destroyERKSaIcE+0x1d)[0xb7eb3e0d]
/usr/lib/libstdc++.so.6(_ZNSs7reserveEj+0xa9)[0xb7eb5529]
/usr/lib/libstdc++.so.6(_ZNSs6appendEPKcj+0x6d)[0xb7eb56ed]
/usr/lib/libstdc++.so.6(_ZNSs6appendEPKc+0x35)[0xb7eb57d5]
./IDS[0x8051cd0]
./IDS[0x8052d4d]
./IDS[0x8055512]
./IDS[0x8055611]
/lib/libc.so.6(__libc_start_main+0xd8)[0xb7cc9df8]
./IDS(__gxx_personality_v0+0x89)[0x8049571]
======= Memory map: ========
08048000-08059000 r-xp 00000000 08:04 318777 /home/vinicius/1.0b/ids/Debug/IDS
08059000-0805a000 rw-p 00010000 08:04 318777 /home/vinicius/1.0b/ids/Debug/IDS
0805a000-0807b000 rw-p 0805a000 00:00 0 [heap]
b7b00000-b7b21000 rw-p b7b00000 00:00 0
b7b21000-b7c00000 ---p b7b21000 00:00 0
b7cb2000-b7cb4000 rw-p b7cb2000 00:00 0
b7cb4000-b7df0000 r-xp 00000000 08:04 14105 /lib/libc-2.5.so
b7df0000-b7df1000 r--p 0013c000 08:04 14105 /lib/libc-2.5.so
b7df1000-b7df3000 rw-p 0013d000 08:04 14105 /lib/libc-2.5.so
b7df3000-b7df6000 rw-p b7df3000 00:00 0
b7df6000-b7e00000 r-xp 00000000 08:04 221 /usr/lib/libgcc_s.so.1
b7e00000-b7e01000 rw-p 00009000 08:04 221 /usr/lib/libgcc_s.so.1
b7e01000-b7e26000 r-xp 00000000 08:04 14109 /lib/libm-2.5.so
b7e26000-b7e28000 rw-p 00024000 08:04 14109 /lib/libm-2.5.so
b7e28000-b7f01000 r-xp 00000000 08:04 2949 /usr/lib/libstdc++.so.6.0.8
b7f01000-b7f04000 r--p 000d8000 08:04 2949 /usr/lib/libstdc++.so.6.0.8
b7f04000-b7f06000 rw-p 000db000 08:04 2949 /usr/lib/libstdc++.so.6.0.8
b7f06000-b7f0c000 rw-p b7f06000 00:00 0
b7f27000-b7f29000 rw-p b7f27000 00:00 0
b7f29000-b7f44000 r-xp 00000000 08:04 14147 /lib/ld-2.5.so
b7f44000-b7f46000 rw-p 0001b000 08:04 14147 /lib/ld-2.5.so
bfea7000-bfebc000 rw-p bfea7000 00:00 0 [stack]
ffffe000-fffff000 r-xp 00000000 00:00 0 [vdso]
Aborted

Alguem poderia me ajudar???
flw....


  


2. Re: Erro ... glibc detected

Denis Doria
thuck

(usa Debian)

Enviado em 13/05/2008 - 09:51h

Lembrando que está trabalhando em programa em C ou em um programa em C++, e não em um programa C/C++.

O que o seu erro indica é que vc está tentando liberar uma área de memória que vc ainda não alocou; ou seja, vc está dando um free() em um ponteiro que ainda não recebeu nenhum malloc().




3. Re: Erro ... glibc detected

Carlos Silva Jr
slack_kf

(usa Slackware)

Enviado em 13/05/2008 - 10:30h

Caraca...eu to reaprendendo C,mas não tinha pego a parte de alocações de memoria,mas fiquei com medo agora..heheeh
Todo esse erro por uma comando free()





www.dighardware.blogspot.com


4. Re: Erro ... glibc detected

Vinicius Wellington
VWcoelho

(usa Slackware)

Enviado em 13/05/2008 - 10:35h

thuck ..
Obrigado por responder...
não estou conseguindo identificar esse erro aqui..
pare esta relacionado com a função append ()...
olhe o codigo abaixo..

string mensagem = "a";
char afin[2];
.
.
mensagem.append(afin);

deste ponto pra frente nada no código é executado... fiz testes usando printf...


5. Re: Erro ... glibc detected

Denis Doria
thuck

(usa Debian)

Enviado em 13/05/2008 - 15:38h

Bem... não ocorre nenhum erro? Nada aparece no terminal? Assim é um pouco complicado de depurar...

Tente fazer mais testes e poste os erros, se nenhum erro aparece poste o código.


6. Re: Erro ... glibc detected

Julian Catino
jcatino

(usa Suse)

Enviado em 15/05/2008 - 20:38h

O erro foi provocado porque vc está tentando desalocar uma alocação de memória, ou seja, tem um 'free' a mais por exemplo...

Posta o código.


7. Re: Erro ... glibc detected

Vinicius Wellington
VWcoelho

(usa Slackware)

Enviado em 17/05/2008 - 10:59h

Amigos olhei meu codigo... e parece que o erro esta apartir da ultima linha do codigo abaixo...

bitset<6> bs(random.RInteger(0,u6Int));
string fl;

cout << "\n\tbists: " << bs << endl; //teste

fl = bs.to_string<char,char_traits<char>,allocator<char> >();

O erro não poderia estar em uma lib?






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts