|
From: | Brian C |
Subject: | Re: Problem with older g++ or code |
Date: | Tue, 24 Apr 2007 17:34:19 -0400 |
User-agent: | Thunderbird 1.5.0.10 (Windows/20070221) |
Paul Pluzhnikov wrote:
It may appear to work, but is it bug-free? Rebuild it with -D_GLIBCXX_DEBUG, and see how many bugs that finds. Also test it with Valgrind (www.valgrind.org).
Did that, and didn't see any output.
Program received signal SIGINT, Interrupt. 0xb7d46574 in malloc_consolidate () from /lib/tls/libc.so.6 (gdb) where #0 0xb7d46574 in malloc_consolidate () from /lib/tls/libc.so.6 #1 0xb7d46438 in _int_free () from /lib/tls/libc.so.6 #2 0xb7d45278 in free () from /lib/tls/libc.so.6The big question is: does it ever return from that level. Execute 'gdb' finish command to find out. If it doesn't return, it's a safe bet that you've corrupted heap. In that case, Valgrind is your friend.
It doesn't return, and I started to take a closer look at the problem. I was a little frustrated last night and didn't give it a good look. Basically, I found the problem in my base exception class (which is older code). Basically, in some cases, it could try to access a pointer before it's been set, so that's been fixed.
Thanks.
[Prev in Thread] | Current Thread | [Next in Thread] |