This is the mail archive of the systemtap@sourceware.org mailing list for the systemtap project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: stap is getting a segmentation fault on RHEL 5.1 bets


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.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]