stap is getting a segmentation fault on RHEL 5.1 bets

David Wilder dwilder@us.ibm.com
Tue Oct 2 17:16:00 GMT 2007


Frank Ch. Eigler wrote:
> Try building systemtap with CXXFLAGS=-g only and see what gdb says then.
> 
> - FChE

Hi Frank-
Sorry for the delay.  To recap my problem is that stap is getting a 
segmentation fault on s390, RHEL5.1 beta.  This happens anytime I 
attempting to probe modules.

Adding the -g flag did not add much more to the backtrace.  So I did a 
little brute force troubleshooting.  What I found is that 
dwarf_diename() is returning a bad pointer causing the segmentation fault.

I added a couple of printfs in tapset.cxx

  void focus_on_cu(Dwarf_Die * c)
   {
     assert(c);
     assert(module);

     cu = c;
     printf("c = %p *addr=%p *cu = %p *abbrev = %p 
\n",c,c->addr,c->cu,c->abbrev);
     printf("string = %p\n",dwarf_diename(c));
     cu_name = default_name(dwarf_diename(c), "CU");

     // Reset existing pointers and names
     function_name.clear();
     function = NULL;
   }

test run.
c = 0x3ffff93e2a8 *addr=0x20007897333 *cu = 0x80dd4230 *abbrev = (nil)
string = 0x2eda  << invalid pointer.
Segmentation fault

Any ideas?  I am going to try building new debug info files and see if 
it helps.



More information about the Systemtap mailing list