vfs tapset compilation error.

Mark Wielaard mjw@redhat.com
Tue Jan 25 11:38:00 GMT 2011


On Mon, 2011-01-24 at 06:39 +0200, Daniel Fishman wrote:
> When trying to execute the following:
> 
> stap -v -e 'probe vfs.read {printf("read performed\n"); exit()}'
> 
> compilation fails:
> 
> Pass 1: parsed user script and 144 library script(s) using 91224virt/39148res/2120shr kb, in 290usr/20sys/316real ms.
> WARNING: cross-file global variable reference to identifier '__devnames' at /usr/share//systemtap/tapset/vfs.stp:20:8 from: identifier '__devnames' at /usr/share/systemtap/tapset/vfs.stp:23:13
>  source: 	if (dev in __devnames)
>          	           ^

I am not sure if this is related, or that the warning message is just
confusing. We should probably fix that either way as soon as we figure
out what is really going on. Note that it does refer to the same file,
but one has a double slash in it:
  at /usr/share//systemtap/tapset/vfs.stp:20:8
from /usr/share/systemtap/tapset/vfs.stp:23:13

Was this systemtap build from source and then installed over the system
installed systemtap instance? Maybe that explains the next error,
although I don't really understand how/why.

> semantic error: unresolved type : identifier '__devnames' at /usr/share//systemtap/tapset/vfs.stp:20:8
>         source: global __devnames
>                        ^
> Pass 2: analyzed script: 2 probe(s), 23 function(s), 3 embed(s), 1 global(s) using 323644virt/145452res/6872shr kb, in 1750usr/220sys/1971real ms.
> Pass 2: analysis failed.  Try again with another '--vp 01' option.
> 
> 
> Why __devnames's type cannot be resolved?
> 
> Thanks,
> Daniel.



More information about the Systemtap mailing list