Provided by: systemtap-doc_2.9-2ubuntu2_all bug

NAME

       error::pass2 - systemtap pass-2 errors

DESCRIPTION

       Errors  that occur during pass 2 (elaboration) can have a variety of causes.  Common types
       include:

       unavailable probe point classes
              Some types  of  probe  points  are  only  available  on  certain  system  versions,
              architectures,  and  configurations.  For example, user-space process.*  probes may
              require utrace or uprobes capability in the kernel for this architecture.

       unavailable probe points
              Some probe points may be individually unavailable even when their  class  is  fine.
              For  example,  kprobe.function("foobar") may fail if function foobar does not exist
              in the kernel any more.  Debugging or symbol data may be absent for some  types  of
              .function  or  .statement  probes;  check  for  availability of debuginfo.  Try the
              stap-prep  program  to  download  possibly-required  debuginfo.   Use  a   wildcard
              parameter  such  as  stap  -l  'kprobe.function("*foo*")'  to locate still-existing
              variants.  Use ! or ?   probe  point  suffixes  to  denote  optional  /  preferred-
              alternatives, to let the working parts of a script continue.

       typos  There might be a spelling error in the probe point name ("sycsall" vs.  "syscall").
              Wildcard probes may not find a match at all in  the  tapsets.   Recheck  the  names
              using stap -l PROBEPOINT.  Another common mistake is to use the .  operator instead
              of the correct ->  when  dereferencing  context  variable  subfields  or  pointers:
              $foo->bar->baz even if in C one would say foo->bar.baz.

       unavailable context variables
              Systemtap  scripts  often wish to refer to variables from the context of the probed
              programs using $variable notation.  These variables may not  always  be  available,
              depending   on   versions  of  the  compiler,  debugging/optimization  flags  used,
              architecture, etc.  Use stap -L PROBEPOINT to list available context variables  for
              given  probes.   Use  the  @defined() expression to test for the resolvability of a
              context variable expression.  Consider using  the  stap  --skip-badvars  option  to
              silently replace misbehaving context variable expressions with zero.

       module cache inconsistencies
              Occasionally,  the  systemtap  module  cache ($HOME/.systemtap/cache) might contain
              obsolete information from a prior system configuration/version, and  produce  false
              results  as  systemtap attempts to reuse it.  Retrying with stap --poison-cache ...
              forces new information to be generated.  Note: this should not  happen  and  likely
              represents a systemtap bug.  Please report it.

GATHERING MORE INFORMATION

       Increasing  the  verbosity  of pass-2 with an option such as --vp 02 can help pinpoint the
       problem.

SEE ALSO

       stap(1),
       stap-prep(1),
       stapprobes(3stap),
       probe::*(3stap),
       error::dwarf(7stap),
       error::inode-uprobes(7stap),
       warning::debuginfo(7stap),
       error::reporting(7stap)

                                                                              ERROR::PASS2(7stap)