ERROR::PASS4(7stap)                                      ERROR::PASS4(7stap)

NAME         top

       error::pass4 - systemtap pass-4 errors

DESCRIPTION         top

       Errors that occur during pass 4 (compilation) have generally only a
       few causes:

       kernel or OS version changes
              The systemtap runtime and embedded-C fragments in the tapset
              library are designed to be portable across a wide range of OS
              versions.  However, incompatibilities can occur when some OS
              changes occur, such as kernel modifications that change
              functions, types, or macros referenced by systemtap.  Upstream
              (git:// builds of systemtap
              are often quickly updated to include relevant fixes, so try
              getting or making an updated build.  Reworded: build systemtap
              from git for use with very young kernels.  If the issue
              persists, report the problem to the systemtap developers.

       buggy embedded-C code
              Embedded-C code in your own guru-mode script cannot be checked
              by systemtap, and is passed through verbatim to the compiler.
              Errors in such snippets of code may be found during the pass-4
              compiler invocation, though may be hard to identify by the
              compiler errors.

       incompatible embedded-C code
              The interface standards between systemtap-generated code and
              embedded-C code occasionally change.  For example, before
              version 1.8, arguments were passed using macros THIS->foo and
              THIS->__retvalue but from version 1.8 onward, using
              STAP_ARG_foo and STAP_RETVALUE.  Adjust your embedded-C code
              to current standards, or use the stap --compatible=VERSION
              option to make systemtap use a different one.

       compiler bugs and mysteries
              Messages such as "internal compiler error" suggest compiler
              problems.  These should be reported to the compiler developers
              in the form of a preprocessed .i file, plus the compiler
              command line.  To gather relevant information, run

              stap -k --vp 0003 -p4 ....

              Systemtap will report the saved temporary directory, and the
              compiler command line it attempted.  Go to the directory to
              find he main generated file stap_NNNNN_src.c.  Force the com‐
              piler to produce a preprocessed file with:

              make -C /lib/modules/`uname -r`/build M=`pwd` stap_NNNNN_src.i

              (note the .i suffix), and the compiler command line should be
              in the file .stap_NNNNN_src.i.cmd.

SEE ALSO         top


COLOPHON         top

       This page is part of the systemtap (a tracing and live-system
       analysis tool) project.  Information about the project can be found
       at ⟨⟩.  If you have a bug report for
       this manual page, send it to  This page was
       obtained from the project's upstream Git repository
       ⟨git://⟩ on 2019-03-06.  (At that
       time, the date of the most recent commit that was found in the repos‐
       itory was 2019-03-04.)  If you discover any rendering problems in
       this HTML version of the page, or you believe there is a better or
       more up-to-date source for the page, or you have corrections or
       improvements to the information in this COLOPHON (which is not part
       of the original manual page), send a mail to