error::pass1 - systemtap pass-1 errors
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.