|
From: Geert F. <gee...@es...> - 2003-06-24 08:53:47
|
hello, valgrind died with the following message:
-----------------------------------------
disInstr: unhandled opcode 0xE0 then 0x19
valgrind: the `impossible' happened:
unhandled x86 opcode
Basic block ctr is approximately 50850000
sched status:
Thread 1: status = Runnable, associated_mx = 0x0, associated_cv = 0x0
==11282== at 0x406F1B48: ???
==11282== by 0x80F3690: GRV::bDraw(bool) (GRV.cpp:97)
==11282== by 0x80F6E98: GRVCNeuron::bDraw(bool) (GRVCNeuron.cpp:90)
==11282== by 0x807E69C: GBrain::bRun() (GBrain.cpp:129)
Please report this bug to: js...@ac...
------------------------------------------
any idea what is going wrong? is this an error in valgrind (i doubt it
as my program crashes without valgrind as well), or an error in GCC (i'm
using 3.2.2), or (most likely) my mistake? the code where he crashes on
makes some heavy use of virtual functions and overloaded function. what
should i put i my bugreport?
greets,
geert.
|
|
From: Julian S. <js...@ac...> - 2003-06-24 21:37:07
|
On Tuesday 24 June 2003 11:49, Geert Fannes wrote: > hello, valgrind died with the following message: > > ----------------------------------------- > disInstr: unhandled opcode 0xE0 then 0x19 > > valgrind: the `impossible' happened: > unhandled x86 opcode > Basic block ctr is approximately 50850000 > > sched status: > > Thread 1: status = Runnable, associated_mx = 0x0, associated_cv = 0x0 > ==11282== at 0x406F1B48: ??? > ==11282== by 0x80F3690: GRV::bDraw(bool) (GRV.cpp:97) > ==11282== by 0x80F6E98: GRVCNeuron::bDraw(bool) (GRVCNeuron.cpp:90) > ==11282== by 0x807E69C: GBrain::bRun() (GBrain.cpp:129) > > Please report this bug to: js...@ac... > ------------------------------------------ > > any idea what is going wrong? is this an error in valgrind (i doubt it > as my program crashes without valgrind as well), or an error in GCC (i'm > using 3.2.2), or (most likely) my mistake? the code where he crashes on > makes some heavy use of virtual functions and overloaded function. what > should i put i my bugreport? If V reports any errors before the crash, you should fix those. However this might be some subtle problem to do with inheritance; the KDE people have reported similar things various times (where a program jumps to a garbage address, as here) and they traced it to some strange inheritance problem. I'm sorry to be so vague; I can't remember any more. You might want to get a free download of the Intel C/C++ compiler; it uses a different front end from g++, and is very good at warning about all sorts of potentially problematic stuff. Maybe it will uncover a useful clue when compiling your code. J |
|
From: Dan K. <da...@ke...> - 2003-06-24 21:49:45
|
Julian Seward wrote: > You might want to get a free download of the Intel C/C++ compiler; it > uses a different front end from g++, and is very good at warning about > all sorts of potentially problematic stuff. Maybe it will uncover a > useful clue when compiling your code. gcc 3.2.2 is no slouch, either, if you turn on all the warnings, e.g. -Wall -Werror (there may be a few more you can turn on, too). Also, compile with optimization no higher than -O1, to get rid of any chance of aliasing. You may also want to try gcc-3.2.3 or gcc-3.3. - Dan -- Dan Kegel http://www.kegel.com http://counter.li.org/cgi-bin/runscript/display-person.cgi?user=78045 |