|
From: MJH <mjh...@li...> - 2004-03-04 20:05:47
|
I'm running into the following (see end of mail for log, full output of valgrind -v available if needbe, but I didn't want to spam people with the list of every single library, etc). It occurs with both 2.0.0, 2.1.0 and current cvs. Command line options do not seem to make any difference (I tried with memcheck and addrcheck, with and without --optimise=no, and --single-step=yes). gcc version is: 3.2.2 20030222 (Red Hat Linux 3.2.2-5) sz is 2 when the assert fails. It looks like it is on the valgrind side rather than the program I'm trying to test. Is there anything I can do to usefully debug this? (There's nothing in the FAQ that I can see that relates) Thanks. valgrind: vg_to_ucode.c:3748 (dis_push_segreg): Assertion `sz == 4' failed. ==9444== at 0xB8029F35: vgPlain_skin_assert_fail (vg_mylibc.c:1211) ==9444== by 0xB8029F34: assert_fail (vg_mylibc.c:1207) ==9444== by 0xB8029F72: vgPlain_core_assert_fail (vg_mylibc.c:1218) ==9444== by 0xB8046F57: dis_push_segreg (vg_to_ucode.c:3748) ==9444== by 0xB804E2C0: disInstr (vg_to_ucode.c:7205) ==9444== by 0xB804E528: vgPlain_disBB (vg_to_ucode.c:7298) ==9444== by 0xB80560DC: vgPlain_translate (vg_translate.c:2435) ==9444== by 0xB800CA0E: create_translation_for (vg_scheduler.c:275) ==9444== by 0xB800DE0C: vgPlain_scheduler (vg_scheduler.c:1043) ==9444== by 0xB80255AF: main (vg_main.c:2994) sched status: Thread 1: status = Runnable, associated_mx = 0x0, associated_cv = 0x0 ==9444== at 0x80C33AC: ??? (main.cpp:69) Thread 2: status = WaitSys, associated_mx = 0x0, associated_cv = 0x0 ==9444== at 0x9BFFF042: ??? Thread 3: status = WaitSys, associated_mx = 0x0, associated_cv = 0x0 ==9444== at 0x9BFFF042: ??? ==9444== by 0x6C541: ??? |
|
From: Tom H. <th...@cy...> - 2004-03-04 20:20:30
|
In message <200...@li...>
MJH <mjh...@li...> wrote:
> I'm running into the following (see end of mail for log, full output of
> valgrind -v available if needbe, but I didn't want to spam people with the
> list of every single library, etc).
>
> It occurs with both 2.0.0, 2.1.0 and current cvs. Command line options do not
> seem to make any difference (I tried with memcheck and addrcheck, with and
> without --optimise=no, and --single-step=yes).
>
> gcc version is: 3.2.2 20030222 (Red Hat Linux 3.2.2-5)
>
> sz is 2 when the assert fails.
>
> It looks like it is on the valgrind side rather than the program I'm trying
> to test. Is there anything I can do to usefully debug this? (There's
> nothing in the FAQ that I can see that relates)
There isn't really anything to debug. You program is trying to push a
segment register and the push has a 16 bit prefix on it, which valgrind
doesn't support at the moment. I'll have to look at the architecture
manual to see what this instruction means and how it is different from
a 32 bit segment register push.
This should be raised as a bug on the bug tracker anyway.
Tom
--
Tom Hughes (th...@cy...)
Software Engineer, Cyberscience Corporation
http://www.cyberscience.com/
|
|
From: MJH <mjh...@li...> - 2004-03-04 20:32:26
|
On Thursday 04 March 2004 03:14 pm, Tom Hughes wrote: > > It looks like it is on the valgrind side rather than the program I'm > > trying to test. Is there anything I can do to usefully debug this? > > (There's nothing in the FAQ that I can see that relates) > There isn't really anything to debug. I wasn't sure, thus I asked first. > You program is trying to push a > segment register and the push has a 16 bit prefix on it, Not being entirely sure what would cause that, is there anything I might be able to do to rework things so that it doesn't? (Or even just track down what part of my code would be doing it, as there doesn't seem to be a call trace - the reference to main.cpp in the thread list is the end of the function, which isn't reached so that makes no sense to me). > This should be raised as a bug on the bug tracker anyway. Done. |