This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
Re: Unknown symbol error using stap in RHEL 5.4
- From: Maynard Johnson <maynardj at us dot ibm dot com>
- To: Josh Stone <jistone at redhat dot com>, "Frank Ch. Eigler" <fche at redhat dot com>
- Cc: systemtap at sourceware dot org
- Date: Thu, 13 May 2010 12:27:21 -0500
- Subject: Re: Unknown symbol error using stap in RHEL 5.4
- References: <4BEB3032.8030907@us.ibm.com> <4BEB4BBF.9080007@redhat.com>
Josh Stone wrote:
> On 05/12/2010 03:48 PM, Maynard Johnson wrote:
>> This looked suspiciously like the problem reported in
>> https://bugzilla.redhat.com/show_bug.cgi?id=499677. But I tried
>> 'rmmod uprobes', "make -C /usr/share/systemtap/runtime/uprobes
>> clean", and "rm -rf ~/.systemtap", but was not able to clear the
>> problem. I noted that the systemtap level was 1.1-3, which is
>> different from a fresh RHEL 5.4 install. So I tried uninstalling
>> systemtap and installing the 0.9.7-5 rpm from the install DVD, but
>> that didn't clear the error either. As a sanity check, I did a fresh
>> install of RHEL 5.4 on another system, and was able to use stapitrace
>> with no problem there.
>>
>> Any thoughts on what might be causing this problem?
>
> Can you search the filesystem to make sure there's not any other version
> of uprobes hanging around somewhere?
Josh, thanks for that tip. The system was booted on 2.6.18-164.11.1.el5. However, I did find a uprobes.ko in some /lib/modules sub-directory that was something other than 2.6.18-164.11.1.el5. Looking at the system in more detail, I found several old kernel rpms and some other pieces that looked like someone had at one time, built a custom kernel. I think the system was majorly confused. :-) I cleaned everything up, updated the kernel to 2.6.18-194.3.1.el5 and rebooted. For some reason (that I can't remember now), I also updated systemtap (and runtime) from 0.9.7 to 1.1-3. After making one tweak in /usr/share/systemtap/tapsets, the stapitrace tool worked! Thanks.
*Frank*, the tweak I mentioned above was this: The stapitrace rpm installation adds a tapset script to /usr/share/systemtap/tapsets/ppc64. I found that with the updated systemtap, I needed to move that file to /usr/share/systemtap/tapsets/powerpc. I didn't know about this change in systemtap directory structure before now. What was the reason for the change? What would you recommend as the best solution to this problem?
Thanks.
-Maynard
>
>>> If the above is your problem, then I think the best recourse is to
>>> rebuild the kernel without uprobes, so that SystemTap's version will get
>>> used.
>> Jim, thanks for your reply, but this is not really an option for users.
>
> What Jim describes would only be the case if the user was already
> compiling a custom kernel with uprobes in it. The RHEL 5.4 kernel does
> not have uprobes itself.
>
> What is the kernel version on the problem system?
>
>
> Josh