[prev in list] [next in list] [prev in thread] [next in thread] 

List:       kde-commits
Subject:    valgrind/coregrind
From:       Jeremy Fitzhardinge <jeremy () goop ! org>
Date:       2005-03-10 9:05:05
Message-ID: 20050310090505.D6E8B17AA0 () office ! kde ! org
[Download RAW message or body]

CVS commit by fitzhardinge: 

Get more useful stack traces for internal errors/panics which happen
during the exit cleanup.  Also, don't report stack growth failures if
the fault is actually way above the stack.


  M +5 -2      vg_signals.c   1.136


--- valgrind/coregrind/vg_signals.c  #1.135:1.136
@@ -1812,5 +1812,6 @@ void vg_sync_signalhandler ( Int sigNo, 
 
       if (info->si_code == 1            &&      /* SEGV_MAPERR */
-          fault >= esp) {
+          fault >= esp                  &&
+          fault < VG_(client_end)) {
          /* If the fault address is above esp but below the current known
             stack segment base, and it was a fault because there was
@@ -1908,5 +1909,7 @@ void vg_sync_signalhandler ( Int sigNo, 
          VG_(kill_self)(sigNo);         /* generate a core dump */
 
-      tst = VG_(get_ThreadState)(VG_(get_lwp_tid)(VG_(gettid)()));
+      if (tid == 0)             /* could happen after everyone has exited */
+         tid = VG_(master_tid);
+      tst = VG_(get_ThreadState)(tid);
       VG_(core_panic_at)("Killed by fatal signal",
                          VG_(get_ExeContext2)(UCONTEXT_INSTR_PTR(uc),


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic