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: Unknown symbol error using stap in RHEL 5.4


On Wed, 2010-05-12 at 17:48 -0500, Maynard Johnson wrote:
> Hi,
> I maintain a package called stapitrace which has been in Fedora for some time.  Then late last year, we also put it in EPEL.  At that time, I did a fresh install of RHEL 5.4 on a ppc64 system and installed my package from the EPEL repository.  I tested it, and everything worked fine.  But it was brought to my attention recently that the package appeared broken on a user's RHEL 5.4 system.  When I started to debug the problem, I noted it was failing with "unknown symbol" errors, and dmesg showed the following:
> 
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: Unknown symbol unmap_uretprobe
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: Unknown symbol unmap_uprobe
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: disagrees about version of symbol register_uretprobe
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: Unknown symbol register_uretprobe
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: disagrees about version of symbol unregister_uretprobe
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: Unknown symbol unregister_uretprobe
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: Unknown symbol unmap_uretprobe
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: Unknown symbol unmap_uprobe
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: disagrees about version of symbol register_uretprobe
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: Unknown symbol register_uretprobe
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: disagrees about version of symbol unregister_uretprobe
> stap_6e2a90fc5508789a23a65a03a12b9273_46646: Unknown symbol unregister_uretprobe
> 
> ====================
> 
> 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?

It appears that the source from which the kernel was built includes some
non-SystemTap version of uprobes, and that CONFIG_UPROBES is y or m in
the .config file.  If that's the case, stap sees that there are uprobes
functions in the kernel's Module.symvers file and uses the "native"
version of uprobes (running modprobe uprobes, if appropriate) instead of
its own version.  Unfortunately, functions like unmap_u[ret]probe, which
exist in SystemTap's version of uprobes, don't exist in many "native"
versions.

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.

> 
> Thanks!
> -Maynard
> 

Jim



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