On Dec 23, 2007 11:27 PM, Julian Seward <[EMAIL PROTECTED]> wrote:
>
> > #0 vgPlain_get_StackTrace2 (tid_if_known=<value optimized out>,
> > ips=0x389113f0, n_ips=12, ip=0, sp=0, fp=0, lr=0, fp_min=0,
> > fp_max_orig=0) at m_stacktrace.c:230
>
> The stack unwinder is being started with ip, sp, fp, lr values
> for the thread concerned of zero, which leads to the segfault.
> Are you sure the thread for which you are getting a stack trace
> has good values for those registers?
The attached exp-drd patch fixes the aforementioned crash. Julian, can
you please apply it ?
Thanks,
Bart.
Index: exp-drd/drd_segment.c
===================================================================
--- exp-drd/drd_segment.c (revision 7308)
+++ exp-drd/drd_segment.c (working copy)
@@ -64,7 +64,7 @@
sg->next = 0;
sg->prev = 0;
- if (vg_created != VG_INVALID_THREADID)
+ if (vg_created != VG_INVALID_THREADID && VG_(get_SP)(vg_created) != 0)
sg->stacktrace = VG_(record_ExeContext)(vg_created, 0);
else
sg->stacktrace = 0;
-------------------------------------------------------------------------
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
[email protected]
https://lists.sourceforge.net/lists/listinfo/valgrind-developers