0.5.0 (Aug 10th, 2015)

Kernel release:

4.1.4-4.el6uek

New architectures:

  • Linux on SPARC64 is supported with the following providers: dtrace, profile, syscall, and SDT. Userspace tracing doesn't work yet.

  • The uid / gid handling has been updated to accommodate namespace support at the kernel level (kuid and kgid). All uid / gid values reported by D subroutines (or obtained from structures) are evaluated based on the initial user namespace.

New options:

  • -xuseruid: On non-systemd systems (such as OL6), specify the user ID of the first non-system user. (The default will normally be appropriate.) Processes with uids below this, and which appear to truly be daemons, are only ptrace()d if explicitly specified via dtrace -p or -c.

  • -xsysslice: On systemd systems (such as OL7), specify the name of the system slice. (The default will almost always be appropriate.) Processes in this slice or the root slice are considered crucial system daemons and only ptrace()d if explicitly specified, as above.

    The systemd/non-systemd determination is made dynamically, so you can switch init systems freely and everything should still work.

Changes to user-visible internals:

  • Translator support for the UEK4 4.1 kernel.

  • Accessing kernel memory under NOFAULT protection now implies NOPF (no page fault) as well. Previously, NOPF was an option that could be set in addition to NOFAULT.

  • Debugging output has been improved (to be enabled at compile time).

  • The datatype formerly known as sdt_instr_t has been renamed asm_instr_t. The rationale behind this change is that it will be used in code beyond the SDT provider and therefore a more generic name is appropriate.

Bugfixes:

  • Symbol resolution in non-ptraceable processes is improved.

  • dtrace -p with an invalid PID now produces a sensible error message.