|
From: Nicholas N. <nj...@ca...> - 2004-08-25 16:55:51
|
On Fri, 20 Aug 2004, Samofatov, Nickolay wrote: >> If you're feeling adventurous, you could try inserting >> VG_(printf)() calls (or OINK() calls) in >> vg_signals.c:vg_sync_signalhandler() and try to work out if >> something is going wrong in there. Particularly around line >> 2106, where the comment says "extend the stack segment". >> >> You could also make a bug report in Bugzilla. > > Valgrind is not a trivial piece of engineering artwork. I can do some > small fixes, like adding support for missing syscalls or feature to > create program core dumps automatically when problems are . > But hardcore Valgrind debugging is currently out of the area of my > competence. But you know how use printf(), right? I was suggesting sticking a few into that part of the code in an attempt to work out on which line the seg fault occurs. Easiest is with OINK() -- put a line OINK(1); before a line, put OINK(2); after it, and if Valgrind crashes printing the first OINK but not the second, you know it's that line that is causing the seg fault. You don't have to understand Valgrind at all to do that, since I've told you which code region to put them in. > You already said that such bugs are difficult to fix without > reproducable test case. If you would like to fix this problem I can hand > reproducable test case for it to you. There will be 10 MB of source code > and 42 MB database dump. Error happens after 10-15 minutes of test > runtime. 15 minutes? That does make searching with printf() more difficult... N |