|
From: Philippe W. <phi...@sk...> - 2012-03-16 14:59:00
|
I have now run outer memcheck/drd/helgrind/sgcheck on inner regtest.
I have analysed more in details the outer memcheck results.
Memory leaks have all been solved, except:
2 leaks suppressed in tests/outer_inner.supp, happening
for all or most inner tests
2 normal leaks in drd/tests/custom_alloc and
drd/tests/custom_alloc_fiw.
(I think it is not a good idea to write a
general suppression for these two tests,
as it would suppress all client allocations leaks).
annotate_hbefore can loop forever in an outer/inner setup,
but there is a solution (cfr my previous mail).
The outer memcheck reports other errors than leaks, but these are
difficult to analyse, as the outer detects also some of the errors that
the inner (has to) detect on the client test program. But for such
things, the outer error messages do not give an file/line nr, as these
errors are found in JIT-ed code emitted by the inner.
So, it is difficult to see if the outer memcheck detects an abnormal
or normal bug in the JIT-ed code.
There are a few tests which are failing with outer memcheck on inner:
Find the list below.
Philippe
drd/tests/pth_barrier_thr_cr (stderr)
out of memory (strange, because V reports only 1.1Gb used)
gdbserver_tests/mcinvokeWS (stdoutB)
gdbserver_tests/mcinvokeWS (stderrB)
SIGSEGV when inferior call executed in the inner
and the inner is not sleeping yet.
Probably/maybe the outer does not like a
a 'forced invocation' by vgdb ?
helgrind/tests/tc06_two_races_xml (stderr)
failing due to new inner <arg>--sim-hints=no-inner-prefix</arg>
memcheck/tests/err_disable4 (stderr)
cannot create 498 threads
(an mmap for stack failing at 199 ?)
memcheck/tests/linux/lsframe1 (stderr)
big stack not properly supported ?
memcheck/tests/linux/timerfd-syscall (stderr)
slow down by outer makes value of timer not respected ?
none/tests/map_unmap (stdout)
none/tests/map_unmap (stderr)
none/tests/sigstackgrowth (stdout)
none/tests/sigstackgrowth (stderr)
none/tests/stackgrowth (stdout)
none/tests/stackgrowth (stderr)
aspacemgr sync check failing (difference
between inner list of segments and /proc/maps
list of segments).
none/tests/shell (stderr)
some subtilities with the way wrong scripts
are executed.
|