This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: stap is getting a segmentation fault on RHEL 5.1 bets
- From: David Wilder <dwilder at us dot ibm dot com>
- To: "Frank Ch. Eigler" <fche at redhat dot com>, SystemTAP <systemtap at sources dot redhat dot com>
- Date: Tue, 02 Oct 2007 10:15:53 -0700
- Subject: Re: stap is getting a segmentation fault on RHEL 5.1 bets
- References: <46FAEEC3.4050803@us.ibm.com> <y0m641woqj7.fsf@ton.toronto.redhat.com>
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.