On 20/12/2007, Bart Van Assche <[EMAIL PROTECTED]> wrote:

> There is a small inconsistency in the Valgrind core with regard to the
> value of VG_(running_tid) concerning client memory accesses: this
> variable contains a valid thread ID for all client memory accesses,
> except for some accesses triggered from coregrind/m_main.c. The
> attached patch fixes this and also contains some exp-drd
> simplifications that became possible because of the fix in the core.
> Can you please evaluate this patch and apply it if you consider it
> acceptable ? Regression test results are unaffected by the patch --
> the results below are for the x86_64 platform.

I was just looking at committing this, but I've run into a bit of a
problem, namely that drd segfaults on startup on my machine (with or
without this patch) so it's a bit hard for me to test it before I
commit it ;-)

The segfault is while recording the execution context from sg_init,
called as follows:

  VG_(get_StackTrace)()
  VG_(record_ExeContext)()
  sg_init()
  sg_new()
  thread_pre_create()
  drd_pre_thread_create()
  VG_(main)() [when creating the main thread]

I think the problem is that the thread hasn't started executing yet so
there is no context to unwind - the PC, FP and SP are all zero...

Tom

-- 
Tom Hughes ([EMAIL PROTECTED])
http://www.compton.nu/

-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2005.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Valgrind-developers mailing list
Valgrind-developers@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/valgrind-developers

Reply via email to