NAME¶
error::pass1 - systemtap pass-1 errors
DESCRIPTION¶
Errors that occur during pass 1 (parsing) usually mean a basic syntax error of
some sort occurred in the systemtap script. There are several classes of
problems possible:
- plain syntax error
- The systemtap script parser detects a large variety of errors, such as
missing operands, bad punctuation. It tries to list what kinds of tokens
it was expecting to see, and will show the region of the source code with
the problem. Please review the stap(1) man page and/or the
tutorial, to correct the script's syntax.
- grammar ambiguities
- There is at least one known ambiguity in the systemtap grammar. It relates
to the optionality of ; (semicolon) separators between statements,
and the ++ and -- increment/decrement operators. If the
parser indicates an error, consider adding some explicit ;
separators between nearby statements and try again.
- missing command line arguments
- A systemtap script that uses the $N and @N constructs for
substituting in command-line options may fail if not enough options were
given on the stap command line.
- compatibility changes
- Some versions of systemtap have changed the language incompatibly, for
example by adding the try/catch keywords for exception handling. In such
cases, rerun systemtap with the --compatibility=VERSION option,
substituting the last systemtap version where your script was known to
work. You may also check the release-history NEWS file for compatibility
changes.
Increasing the verbosity of pass-1 with an option such as --vp 1 can help
pinpoint the problem.
SEE ALSO¶
stap(1),
error::reporting(7stap)