1ERROR::PASS2(7stap)                                        ERROR::PASS2(7stap)
2
3
4

NAME

6       error::pass2 - systemtap pass-2 errors
7
8

DESCRIPTION

10       Errors  that  occur  during  pass 2 (elaboration) can have a variety of
11       causes.  Common types include:
12
13
14       missing debuginfo
15              The script requires debuginfo to  resolve  a  probe  point,  but
16              could not find any.  See error::dwarf(7stap) and warning::debug‐
17              info(7stap) for more details.
18
19
20       unavailable probe point classes
21              Some types of probe points are only available on certain  system
22              versions, architectures, and configurations.  For example, user-
23              space process.*  probes may require utrace or uprobes capability
24              in the kernel for this architecture.
25
26
27       unavailable probe points
28              Some  probe  points  may  be  individually unavailable even when
29              their class is fine.  For example, kprobe.function("foobar") may
30              fail  if  function foobar does not exist in the kernel any more.
31              Debugging or symbol data may be absent for some types of  .func‐
32              tion  or .statement probes; check for availability of debuginfo.
33              Try the stap-prep program to download  possibly-required  debug‐
34              info.   Use  a  wildcard parameter such as stap -l 'kprobe.func‐
35              tion("*foo*")' to locate still-existing variants.  Use  !  or  ?
36              probe  point  suffixes  to  denote optional / preferred-alterna‐
37              tives, to let the working parts of a script continue.
38
39
40       typos  There might be a spelling error in the probe point  name  ("syc‐
41              sall"  vs.  "syscall").  Wildcard probes may not find a match at
42              all in the tapsets.  Recheck the names using stap -l PROBEPOINT.
43              Another  common mistake is to use the .  operator instead of the
44              correct -> when  dereferencing  context  variable  subfields  or
45              pointers:   $foo->bar->baz   even   if   in   C  one  would  say
46              foo->bar.baz.
47
48
49       unavailable context variables
50              Systemtap scripts often wish to refer to variables from the con‐
51              text  of  the  probed  programs using $variable notation.  These
52              variables may not always be available, depending on versions  of
53              the  compiler,  debugging/optimization flags used, architecture,
54              etc.  Use stap -L PROBEPOINT to list available context variables
55              for given probes.  Use the @defined() expression to test for the
56              resolvability of a context variable expression.  Consider  using
57              the  stap  --skip-badvars option to silently replace misbehaving
58              context variable expressions with  zero.   Experiment  with  the
59              stap --prologue-searching option.
60
61
62       module cache inconsistencies
63              Occasionally,   the   systemtap   module  cache  ($HOME/.system‐
64              tap/cache) might contain obsolete information from a prior  sys‐
65              tem  configuration/version, and produce false results as system‐
66              tap attempts to reuse it.  Retrying with stap --poison-cache ...
67              forces  new  information to be generated.  Note: this should not
68              happen and likely represents a systemtap bug.  Please report it.
69
70

GATHERING MORE INFORMATION

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

SEE ALSO

77       stap(1),
78       stap-prep(1),
79       stapprobes(3stap),
80       probe::*(3stap),
81       error::dwarf(7stap),
82       error::inode-uprobes(7stap),
83       warning::debuginfo(7stap),
84       error::reporting(7stap)
85
86
87
88                                                           ERROR::PASS2(7stap)
Impressum