|
From: Nuno L. <nun...@sa...> - 2008-05-02 17:57:15
|
> On Fri, May 2, 2008 at 4:34 PM, Nuno Lopes <nun...@sa...> wrote: >> Yes, I was working with latest trunk. >> Doing some binary search on the revisions I found the following: >> - r7839 (01/April) is the latest good revision >> - r7840 crashes with the error below >> - r7841 and newer revisions consume at least 1 GB of RAM even with a >> simple >> hello world >> >> exp-drd: drd_thread.c:326 (thread_set_pthreadid): Assertion 'ptid != >> INVALID_POSIX_THREADID' failed. > > Was the above assert triggered by a client program that was not linked > against libpthread.so ? yes. > The actual problem (r7841 and later) might be triggered by the > function highest_used_stack_address(), more specifically if the stack > pointer this function obtains via VG_(get_StackTrace)() is wrong. I > have added an assert statement in highest_used_stack_address() that > checks the validity of the obtained stack pointer. Can you please try > to run the regression tests on the latest trunk version (revision > 7990) ? An assert statement should now be triggered instead of the > consumption of lots of RAM. Bingo! I now get the following: exp-drd: drd_clientreq.c:102 (highest_used_stack_address): Assertion 'VG_(thread_get_stack_max)(vg_tid) - VG_(thread_get_stack_size)(vg_tid) <= husa && husa <= VG_(thread_get_stack_max)(vg_tid)' failed. ==6340== at 0x3801A708: report_and_quit (m_libcassert.c:140) ==6340== by 0x3801AA80: vgPlain_assert_fail (m_libcassert.c:205) ==6340== by 0x380077EC: highest_used_stack_address (drd_clientreq.c:100) ==6340== by 0x38007DC4: drd_handle_client_request (drd_clientreq.c:130) ==6340== by 0x380403D0: do_client_request (scheduler.c:1414) ==6340== by 0x38041EA4: vgPlain_scheduler (scheduler.c:1013) ==6340== by 0x3805857C: run_a_thread_NORETURN (syswrap-linux.c:89) sched status: running_tid=1 Thread 1: status = VgTs_Runnable ==6340== at 0xFF6C498: init (drd_pthread_intercepts.c:244) ==6340== by 0xFF6CD94: (within /home/avexe/nuno/valgrind/exp-drd/vgpreload_exp-drd-ppc32-linux.so) ==6340== by 0xFF65CF8: (within /home/avexe/nuno/valgrind/exp-drd/vgpreload_exp-drd-ppc32-linux.so) ==6340== by 0xFFBE6F8: call_init (in /lib/ld-2.6.so) ==6340== by 0xFFBE87C: _dl_init (in /lib/ld-2.6.so) ==6340== by 0xFFC6B70: _start (in /lib/ld-2.6.so) Nuno |