Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

error::pass4(7stap) [centos man page]

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

NAME
error::pass4 - systemtap pass-4 errors DESCRIPTION
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 builds of systemtap are often quickly updated to include relevant fixes, so try getting or making an updated build. 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. GATHERING MORE INFORMATION
It may be necessary to run systemtap with -k or -p3 to examine the generated C code. Increasing the verbosity of pass-4 with an option such as --vp 0001 can also help pinpoint the problem. SEE ALSO
stap(1), error::reporting(7stap) ERROR::PASS4(7stap)

Check Out this Related Man Page

ERROR::BUILDID(7stap)													     ERROR::BUILDID(7stap)

NAME
error::buildid - build-id verification failures DESCRIPTION
Because systemtap's script translation / execution stages may be executed at different times and places, it is sometimes necessary to ver- ify certain invariants. One such invariant is that if a script was informed by translate-time analysis of executables, then those same executables need to be used at run time. This checking is done based upon the build-id, a binary hash that modern (post-2007) compil- ers/toolchains add as an NT_GNU_BUILD_ID ELF note to object files and executables. Use the readelf -n command to examine the build-ids of binaries, if you are interested. Only scripts are sensitive to executables' build-ids: generally those that perform deep analysis of the binaries or their debuginfo. For example, scripts that place .function or .statement probes, or use stack backtrace-related tapset functions may be sensitive. Other scripts that rely only on process.mark or kernel.trace probes do not require debuginfo. See the DWARF DEBUGINFO section in the stap- probes(3stap) man page. During translation, systemtap saves a copy of the relevant files' build-ids within the compiled modules. At run-time, the modules compare the saved ones to the actual run-time build-ids in memory. The error message indicates that they did not match, so the module will decline placing a probe that was computed based upon obsolete data. This is important for safety, as placing them at an inappropriate address could crash the programs. However, this is not necessarily a fatal error, since probes unrelated to the mismatching binaries may operate. A build-id mismatch could be caused by a few different situations. The main one is where the executable versions or architecture were dif- ferent between the systemtap translation and execution times/places. For example, one may run a stap-server on a slightly different ver- sion of the OS distribution. The kernel running on the workstation may be slightly different from the version being targeted - perhaps due to a pending kernel upgrade leaving different files on disk versus running in memory. If your OS distribution uses separate debuginfo packages, the split .IR .debug files may not exactly match the main binaries. SEE ALSO
http://fedoraproject.org/wiki/Releases/FeatureBuildId, stap(1), stapprobes(3stap), warning::debuginfo(7stap), error::reporting(7stap) ERROR::BUILDID(7stap)
Man Page