Messages in this thread | | | Date | Fri, 28 Apr 2023 17:24:53 -0400 | From | "Frank Ch. Eigler" <> | Subject | SystemTap release 4.9 |
| |
The SystemTap team announces release 4.9
Enhancements to this release include: Jupyter web-based interactive frontend, language-server-protocol backend
= Where to get it
https://sourceware.org/systemtap/ - our project page https://sourceware.org/systemtap/ftp/releases/ https://koji.fedoraproject.org/koji/packageinfo?packageID=615 git tag release-4.9 (commit ebb424eee5599fc)
There have been over 70 commits since the last release. There have been 10 bugs fixed / features added since the last release.
= SystemTap backend changes
* Corrected handling of DWARF5 implicit-pointer and entry-value data and bit-fields.
* Corrected accidental runtime double-hit of some types of synthetic probes.
* Improved kernel backtrace repeated artifacts.
= SystemTap frontend (stap) changes
* Added a Jupyter based front-end to stap. This may be invoked via a container - or built locally (likely via pip3 downloads). The user interface becomes an interactive notebook in a web browser. See the "stap-jupyter" man page.
* Added a "--language-server" option to stap, which switches it into an LSP server on stdin/stdout. This allows users of a variety of editors to trigger symbol-completions and similar operations in context. This code includes a small reusable jsonrpc server library implementation in C++.
* Improved documentation generation scripts, so the website doc snapshots can be fresher.
* Improved deterministic buildability of dtrace-flavoured .h/.c file generation.
* Temporarily disabled $context-variable liveness safety checks on retpoline kernels.
= SystemTap tapset changes
* Python3 version range compatibility much improved.
* Updated for NFS, VFS and other kernel changes.
* Updated system call name tables.
= SystemTap sample scripts
* All 180+ examples can be found at https://sourceware.org/systemtap/examples/
* The new Jupyter front-end includes a default notebook that includes several scripts and fragments, equipped with webby eyecandy!
* The livepatch.stp sample script for CVE band-aids is better documented.
= Examples of tested kernel versions
3.10.0 (RHEL7) 4.18.0 (RHEL8 + CentOS Stream 8 x86_64, aarch64, ppc64le, s390x) 5.14.0 (RHEL9 + CentOS Stream 9 x86_64, aarch64, ppc64le, s390x) 5.19.16 (Fedora 36 x86_64) 6.2.11 (Fedora 37 x86_64) 6.3.0-rc (Fedora rawhide x86_64)
= Known issues with this release
- There are intermittent buffer transmission failures for high-trace-rate scripts. Bulk mode (stap -b) helps. (see PR29108)
- There are known issues on kernel 5.10+ after adapting to set_fs() removal, with some memory accesses that previously returned valid data instead returning -EFAULT. (see PR26811)
= Contributors for this release
Aaron Merey, Frank Ch. Eigler, *Gioele Barabucci, Mark Wielaard, Martin Cermak, Ryan Goldberg, Serhei Makarov, Stan Cox, William Cohen
Special thanks to new contributors, marked with '*' above.
= Bugs fixed for this release <https://sourceware.org/PR#####>
29801 --monitor mode gets 2 hits to procfs("monitor_control").write for every 1 write 29838 DWARF5 DW_OP_implicit_pointer and DW_OP_entry_value unhandled 29676 wildcard function/symbol expansion inconsistent in debuginfo vs nondebuginfo cases 29837 kernel build compiler warning makes testsuite fail 29832 probe python.function.entry does not get hits (while .return does) 29766 kernel.function("__set_page_dirty_buffers") not found in tapset/linux/vfs.stp 29037 Systemtap unable to find struct bitfield members for gcc11 compiled code 30123 bitfield.exp fails with fresh kernels 29824 BUG: using smp_processor_id() in preemptible [00000000] code: stapio/58567 30372 dyninst liveness analysis with retpoline kernels slow 30396 kernel 6.3.* objtool/ibt warnings during pass 4
| |