Skip to content

Commit

Permalink
Update NEWS and dtrace.spec for errata release 2.0.0-1.14
Browse files Browse the repository at this point in the history
Signed-off-by: Eugene Loh <eugene.loh@oracle.com>
Signed-off-by: Kris Van Hees <kris.van.hees@oracle.com>
  • Loading branch information
euloh authored and kvanhees committed Mar 5, 2024
1 parent 7b3cbaf commit cdf125f
Show file tree
Hide file tree
Showing 2 changed files with 143 additions and 7 deletions.
112 changes: 112 additions & 0 deletions NEWS
Original file line number Diff line number Diff line change
@@ -1,3 +1,115 @@
2.0.0-1.14 (Mar 5th, 2024)
--------------------------

Fourteenth errata of the standalone userspace implementation.

** This is a pre-release with limited functionality. **

New features:

- The io provider has been implemented.

- The print() action has been implemented.

- The link_ntop() subroutine has been implemented.

- The cleanpath() subroutine has been implemented.

- The d_path() subroutine has been implemented to always return "<unknown>".
This is needed to ensure that the io and procfs translators compile.

- The -xcpu option has been implemented.

- The -xaggpercpu option has been implemented.

- The -xlockmem option has been improved. The limit is set before retrieving
probe info, and the default behavior is now "unlimited" (meaning most users
will not have to worry about this option).

- The pid provider now supports offset-based probe names.

- Aggregations of stacks are now supported.

- The retrieval of rawtp argument information has been improved.

- It is now possible to delete an element in an associative array by assigning
a literal 0 to it, regardless of the element datatype.

- The lexer has been improved to support module names that start with a
numeral so that they can be used (e.g. 9p`v9fs_remove).

- A basic configure script has been added to facilitate building and packaging
in a variety of distributions.

- USDT probe information maintained by dtprobed is now stored under /run to
ensure it can survive daemon restarts.

Bugfixes:

- Drop counter handling is fixed for local-only updates.

- Dedicated space has been introduced for call stacks, so that stackdepth and
temporary strings will not overwrite one another.

- dt_tp_event_info() has been corrected so as not to overrun its buffer.

- Compilation of BPF code that uses BPF helpers now uses the bpf_helpers.h
header file from libbpf-dev[el] instead of the (deprecated) bpf-helpers.h
header file that the gcc BPF cross provided.

- Due to the need to support DTrace on older kernels, BPF source code files
are now compiled using -mcpu=v3 to ensure that the object code is acceptable
to the BPF verifier in older kernels.

- When a dtrace instance would trigger the END probe to be processed, any and
all other dtrace instances on the system would have their END probe fire as
well because the dtrace provider trampolines were not validating the tgid
of the task triggering the probe.

- The initialization of the cpuinfo BPF map could cause a buffer overrun on
systems with non-sequential online CPU ids.

- On kernels that support preemptive BPF program execution, probe data could
get corrupted. As a temporary fix, concurrent BPF program execution for
DTrace probes is blocked.

Internal changes:

- Code has been restructured to better support SDT-based providers.
While such providers (lockstat, io, etc.) used to be based on
static probes in the kernel source, they are now implemented with
fbt, rawtp, and even syscall probes. Probe trampolines can become
involved. Changes, notably in cg, better support these providers.
Also, the underlying probes are using rawtp more rather than relying
just on fbt.

- Support for compilation in older environments (esp. older compilers) has
been improved.

- There have been a number of build improvements, especially for cross
compilation and to build with upstream kernels.

- A bunch of code to parse strings has been removed, relying instead
on flex for this support.

- The creation and deletion of USDT probes has moved from dtprobed to dtrace.

- The dtprobed now uses presets for daemon restarting.

Testsuite changes:

- Test dependence on tick-* probes has further been reduced. The tick-*
probes can behave poorly on some kernels, depending on how their timers
subsystem is configured (CONFIG*_HZ*). Reducing this dependence has
gone on over multiple releases to improve the robustness of these tests.

- Fix err.* tests that force XFAIL to report so correctly.

- Skip lockstat testing prior to 5.10.

- Fix the use of syscall::execve:entry args[1][?], since there are two
levels of dereferencing userspace addresses, requiring two copyin*().

2.0.0-1.13.2 (Nov 10th, 2023)
-----------------------------

Expand Down
38 changes: 31 additions & 7 deletions dtrace.spec
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ Conflicts: systemtap-sdt-devel
Provides: systemtap-sdt-devel
Summary: DTrace user interface.
Version: 2.0.0
Release: 1.13.2%{?dist}
Release: 1.14%{?dist}
Source: dtrace-%{version}.tar.bz2
BuildRoot: %{_tmppath}/%{name}-%{version}-build
ExclusiveArch: x86_64 aarch64
Expand Down Expand Up @@ -267,7 +267,31 @@ fi
%{_libdir}/dtrace/testsuite

%changelog
* Thu Nov 9 2023 Kris Van Hees <kris.vna.hees@oracle.com> - 2.0.0-1.13.2
* Tue Mar 5 2024 Kris Van Hees <kris.van.hees@oracle.com> - 2.0.0-1.14
- Implement provider: io. (Eugene Loh, Kris Van Hees)
- Implement actions: print(). (Alan Maguire)
- Implement subroutines: link_ntop(), cleanpath(). (Eugene Loh)
- Implement options: -xcpu, -xaggpercpu. (Eugene Loh)
- Improve providers: pid (offset-based probes) and rawtp (arg info).
- Improve options: -xlockmem (improve default). (Eugene Loh)
- Ensure USDT probes can survive dtprobed restarts. (Nick Alcock)
- Improve USDT probe creation/deletion. (Nick Alcock)
- Improve support for DTrace with upstream kernels. (Nick Alcock)
- Improve support for compiling DTrace in older environments. (Kris Van Hees)
- Add support for aggregations of stacks. (Eugene Loh)
- Improve lexer parsing (top-level wildcard ambiguities and `numerals).
(Nick Alcock)
- Fix END probe execution with multiple tracers. (Nick Alcock)
- Preemptive BPF program execution for DTrace probes is not allowed.
- Buffer overrun fix for systems with non-sequential online CPU ids.
(Kris Van Hees, Nick Alcock) [Orabug: 36356681]
- Various bug fixes. (Nick Alcock, Eugene Loh, Kris Van Hees)
- Various testsuite fixes and improvements.
(Nick Alcock, Eugene Loh, Kris Van Hees)
- Various code improvements. (Nick Alcock, Eugene Loh, Kris Van Hees)
[Orabug: 36329725]

* Thu Nov 9 2023 Kris Van Hees <kris.van.hees@oracle.com> - 2.0.0-1.13.2
- Support using DTrace with upstream kernels.
- Implement provider: ip.
- Implement actions: trunc(), pcap().
Expand All @@ -281,11 +305,11 @@ fi
(Nick Alcock, Eugene Loh, Kris Van Hees)
- Various code improvements. (Nick Alcock, Eugene Loh, Kris Van Hees)

* Wed Jun 7 2023 Kris Van Hees <kris.vna.hees@oracle.com> - 2.0.0-1.13.1
* Wed Jun 7 2023 Kris Van Hees <kris.van.hees@oracle.com> - 2.0.0-1.13.1
- Restart dtprobed when upgrading DTrace.
- Report and clean up orphaned tracing events after each test.

* Fri May 26 2023 Kris Van Hees <kris.vna.hees@oracle.com> - 2.0.0-1.13
* Fri May 26 2023 Kris Van Hees <kris.van.hees@oracle.com> - 2.0.0-1.13
- Full support for is-enabled USDT probes. (Nick Alcock)
- Report error on programs that exceed aggsize or dynvarsize.
- Support for drop counters for principal, speculation, and aggregation buffers
Expand All @@ -307,7 +331,7 @@ fi
- Various code improvements. (Nick Alcock, Eugene Loh, Kris Van Hees)
[Orabug: 35435195]

* Mon Feb 27 2023 Kris Van Hees <kris.vna.hees@oracle.com> - 2.0.0-1.12
* Mon Feb 27 2023 Kris Van Hees <kris.van.hees@oracle.com> - 2.0.0-1.12
- Fix evaluation order of bcopy() arguments and lift non-alloca restriction
on the source address. (Eugene Loh, Kris Van Hees)
- Implement actions: clear(), tracemem(). (Kris Van Hees, Eugene Loh)
Expand All @@ -323,13 +347,13 @@ fi
- Implement runtime bounds checking for scalar array access. (Eugene Loh)
- Updated manpage and moved to dtrace.8.
- Support arbitrary address pointers for basename(), dirname(), strchr(),
strrchr(), and inet_ntoa(). (Eugene Loh), [Orabug: 34857846]
strrchr(), and inet_ntoa(). (Eugene Loh) [Orabug: 34857846]
- Add runtime bounds checking for scalar array access. (Eugene Loh)
[Orabug: 35045463]
- Various testsuite fixes and improvements. [Orabug: 34829509]
- Various code improvements. [Orabug: 34829509]

* Tue Nov 08 2022 Kris Van Hees <kris.vna.hees@oracle.com> - 2.0.0-1.11.1
* Tue Nov 08 2022 Kris Van Hees <kris.van.hees@oracle.com> - 2.0.0-1.11.1
- Support both libfuse 2 and libfuse 3.

* Fri Oct 28 2022 Kris Van Hees <kris.van.hees@oracle.com> - 2.0.0-1.11
Expand Down

0 comments on commit cdf125f

Please sign in to comment.