|
From: Bart V. A. <bar...@gm...> - 2008-05-02 17:36:00
|
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 ? For such programs drd_pthread_intercepts.c still calls pthread_self(), but the version provided in glibc. This version of pthread_self() returns 0, which triggered the assert. More recent versions of exp-drd handle single-threaded programs that are not linked against libpthread.so correctly. 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. Bart. |