This is the mail archive of the
systemtap@sourceware.org
mailing list for the systemtap project.
semantic error: not accessible at this address
- From: Vincent Bernat <bernat at luffy dot cx>
- To: systemtap at sourceware dot org
- Date: Fri, 27 Sep 2013 22:14:22 +0200
- Subject: semantic error: not accessible at this address
- Authentication-results: sourceware.org; auth=none
Hi!
I have the following error when trying to use iotop example with a 3.11
kernel:
semantic error: not accessible at this address [man error::dwarf] (0xffffffff811b42b0, dieoffset: 0x177422e): identifier '$file' at /usr/share/systemtap/tapset/linux/vfs.stp:855:9
source: file = $file
^
Pass 2: analysis failed. [man error::pass2]
I have read the wiki but if I use eu-readelf on vmlinux, I get the
appropriate stuff:
[1774208] subprogram
external (flag) Yes
name (strp) "vfs_write"
decl_file (data1) 1
decl_line (data2) 459
prototyped (flag) Yes
type (ref4) [17643bb]
low_pc (addr) 0xffffffff811b42b0
high_pc (addr) 0xffffffff811b44a9
frame_base (data4) location list [5ec58b]
sibling (ref4) [17744b9]
[177422e] formal_parameter
name (strp) "file"
decl_file (data1) 1
decl_line (data2) 459
type (ref4) [1769ace]
location (data4) location list [5ec5ff]
The kernel was compiled with gcc 4.6.3 (the one in Ubuntu Precise). I
have tried with gcc 4.7.3 instead but I get less complete information
(the formal parameter lose its name).
systemtap seems to use the right debug file:
focused on module 'kernel' = [0xffffffff81000000-0xffffffff8240e000, bias 0
file /usr/lib/debug/boot/vmlinux-3.11.0-7-generic ELF machine |x86_64 (code
62)
How could I fix this?
--
Use library functions.
- The Elements of Programming Style (Kernighan & Plauger)