Eric Auge
2005-10-21 07:39:59 UTC
I had not time to debug so much these days, stress is back at work,
one tips i used to enable some assertions in the code to allow
or more verbose debugging of valgrind internals (valgrind have such
facilities), in the handle_tt_miss() functions you got this :
[...]
if (!found) {
/* Not found; we need to request a translation. */
if (VG_(translate)( tid, ip, /*debug*/False, 0/*not verbose*/ )) {
found = VG_(search_transtab)( NULL, ip, True );
vg_assert2(found, "VG_TRC_INNER_FASTMISS: missing tt_fast entry");
[...]
Call to vg translate (you can modify it also directly in the vgtranslate
function.
put /* debug */ to True
put /* verbose */ to 1
As i explained once i've activated this i see some assertion within vex
code generator and I guess the segfault happens because sanity checks
are disabled and it try to jump (within the generated code) to some
invalid address or sth..
i'll dig into that a bit more.
one tips i used to enable some assertions in the code to allow
or more verbose debugging of valgrind internals (valgrind have such
facilities), in the handle_tt_miss() functions you got this :
[...]
if (!found) {
/* Not found; we need to request a translation. */
if (VG_(translate)( tid, ip, /*debug*/False, 0/*not verbose*/ )) {
found = VG_(search_transtab)( NULL, ip, True );
vg_assert2(found, "VG_TRC_INNER_FASTMISS: missing tt_fast entry");
[...]
Call to vg translate (you can modify it also directly in the vgtranslate
function.
put /* debug */ to True
put /* verbose */ to 1
As i explained once i've activated this i see some assertion within vex
code generator and I guess the segfault happens because sanity checks
are disabled and it try to jump (within the generated code) to some
invalid address or sth..
i'll dig into that a bit more.