ERROR::PASS5(7stap)
π NAME π
error::pass5 β systemtap pass-5 errors, bestie. This is page error::pass5 from the 7stap manual, and she's here to tell you why your script went π during pass 5.
πΈ DESCRIPTION πΈ
Okay so real talk: errors that happen during pass 5 (aka execution) can come from a whole bunch of different places. Let's go through them one by one, no skipping, I promise. π«Ά
β¨ exceptional events during script execution
The systemtap translator and runtime are lowkey built different β they pack in numerous error checks that exist to protect the systems and the users from mistakes or transient conditions. Sometimes your script deliberately calls the error() tapset function to signal a problem. Sometimes some memory needed for accessing $context variables may be temporarily unavailable. π
What to do? Consider using the try/catch construct to wrap script fragments in exception-handling code. Consider using the stap --suppress-handler-errors or stap --skip-badvars option. Periodt.
π₯ resource exhaustion
One of several types of space or time resource limits may be exceeded by the script β including system overload, too many tuples to be stored in an array, etc. Some of the error messages identify the constraint by macro name, which may be individually raised.
Consider using the stap --suppress-handler-errors and/or stap -g --suppress-time-limits options. Extend or disable individual resource limits using the stap -DSOME_LIMIT=NNNN option. And the stap -t option may identify those probes that are taking too long. π
π remote execution server problems
If you use the stap --remote option to direct a systemtap script to be executed somewhere else, ensure that an SSH connection may be made to the remote host, and that it has the current systemtap runtime installed & available. That's it, that's the vibe check. β¨
π¦ kernel version incompatibility
If you see a "Couldn't insert module ..." error message when running the script, the version of the kernel development tree selected by stap (or the user via the -r option) may not have matched that of the actual running kernel. This can happen more easily if you run handbuilt kernels. Check dmesg output for hints. π
π installation/permission problems
It is possible that your copy of systemtap was not correctly installed. For example, the /usr/bin/staprun program may lack the necessary setuid permissions, or your invoking userid might not have sufficient privileges (root, or stapusr and related group memberships). Environment variables may interfere with locating /usr/libexec/.../stapio.
π security configuration
SecureBoot or other module signing machinery may be in effect, preventing .ko module loading. A local or remote stap-server service would be necessary to securely manage keys. This situation is detected automatically on most kernels, but on some, the SYSTEMTAP_SIGN environment variable may have to be set to trigger this extra signing-related processing. Check dmesg output for hints.
The normal kernel-module based systemtap backend may be more than your script requires. Try stap --runtime=bpf and/or stap --runtime=dyninst backends. Though they have inherent limitations, they operate with lesser privileges and perceived risks. π
It may be possible to disable secure/lockdown measures temporarily with the SysRQ+x keystroke, or permanently with sudo mokutil --disable-validation and a reboot.
π errors from target program
The program invoked by the stap -c CMD option may exit with a non-zero code. Simple as that.
π uncaught exceptions in the target program
When using --runtime=dyninst you may encounter an issue where the target program aborts with a message like "terminate called after throwing an instance of 'foo_exception'". This is unfortunately a limitation of Dyninst, which sometimes prevents exceptions from properly unwinding through instrumented code. Not us, not our fault, but yeah. π«
π GATHERING MORE INFORMATION π
Increasing the verbosity of pass-5 with an option such as --vp 00001 can help pinpoint the problem. See also: dmesg on the relevant machines. She's literally telling you where the receipts are, go look. π΅οΈββοΈ
π SEE ALSO π
stap(1)http://sourceware.org/systemtap/wiki/TipExhaustedResourceErrorserror::fault(7stap)error::reporting(7stap)warning::pass5(7stap)
okay bestie that's the whole page, you ate it, mwah π This was error::pass5 from the 7stap manual β go forth and debug like the main character you are. periodt. π
β¨
π¦ where this page comes from
- arch rolling: systemtap 5.6-1 Β· GPL-2.0-or-later
- centos-stream 10: systemtap-client 5.6-3.el10 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- centos-stream 10: systemtap-devel 5.6-3.el10 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- centos-stream 10: systemtap-runtime 5.6-3.el10 Β· GPL-2.0-or-later
- centos-stream 10: systemtap-server 5.6-3.el10 Β· GPL-2.0-or-later
- centos-stream 9: systemtap-client 5.6-3.el9 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- centos-stream 9: systemtap-devel 5.6-3.el9 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- centos-stream 9: systemtap-devel 5.6-3.el9 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- centos-stream 9: systemtap-runtime 5.6-3.el9 Β· GPL-2.0-or-later
- centos-stream 9: systemtap-server 5.6-3.el9 Β· GPL-2.0-or-later
- fedora 43: systemtap-client 5.3-4.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 43: systemtap-client 5.6-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 43: systemtap-devel 5.3-4.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 43: systemtap-devel 5.3-4.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 43: systemtap-devel 5.6-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 43: systemtap-devel 5.6-1.fc43 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 43: systemtap-runtime 5.3-4.fc43 Β· GPL-2.0-or-later
- fedora 43: systemtap-runtime 5.6-1.fc43 Β· GPL-2.0-or-later
- fedora 43: systemtap-server 5.3-4.fc43 Β· GPL-2.0-or-later
- fedora 43: systemtap-server 5.6-1.fc43 Β· GPL-2.0-or-later
- fedora 44: systemtap-client 5.4-3.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 44: systemtap-client 5.6-1.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND GFDL-1.2-or-later AND BSD-2-Clause
- fedora 44: systemtap-devel 5.4-3.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 44: systemtap-devel 5.4-3.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 44: systemtap-devel 5.6-1.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 44: systemtap-devel 5.6-1.fc44 Β· GPL-2.0-or-later AND GPL-2.0-only AND BSD-3-Clause AND LGPL-2.1-only AND BSD-2-Clause
- fedora 44: systemtap-runtime 5.4-3.fc44 Β· GPL-2.0-or-later
- fedora 44: systemtap-runtime 5.6-1.fc44 Β· GPL-2.0-or-later
- fedora 44: systemtap-server 5.4-3.fc44 Β· GPL-2.0-or-later
- fedora 44: systemtap-server 5.6-1.fc44 Β· GPL-2.0-or-later
- nixos 26.05: systemtap 5.4
- nixpkgs unstable: systemtap 5.5
- opensuse-leap 16.0: systemtap 5.2-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: systemtap 5.2-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: systemtap 5.2-160000.2.2 Β· GPL-2.0-or-later
- opensuse-leap 16.0: systemtap 5.2-160000.2.2 Β· GPL-2.0-or-later
- ubuntu resolute: systemtap-doc 5.3-2
- ubuntu stonking: systemtap-doc 5.5-1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms