Releases: strace/strace
strace 4.22
NEWS for strace version 4.22
-
Changes in infrastructure
- The mailing list was moved to strace-devel@lists.strace.io.
- SourceForge git repository
(https://sourceforge.net/p/strace/code/ci/master/tree/) is no longer
maintained. Please use GitLab (https://gitlab.com/strace/strace/)
or GitHub (https://github.com/strace/strace/) repository instead.
-
Changes in behaviour
- When printing string data, '8' and '9' following an octal escape sequence
no longer lead to unabbreviated octal escape sequence output, as they used
to do. - Angle brackets are now printed as octal number escape sequences
in the output of paths associated with file descriptors. - Data dump for write syscalls (-e write) is performed regardless
of successfulness of these syscall (addresses Debian bug #436284). - -r and -t options are now affect output independently. Previously,
-r option led to ignoring of the -t option (addresses Debian bug #466195).
- When printing string data, '8' and '9' following an octal escape sequence
-
Improvements
- Implemented delay injection (-e inject=SET:delay_enter= and
-e inject=SET:delay_exit= options). - Added -A option for opening output files in append mode
(addresses Debian bug #528488). - IPv6 addresses shown in socket information in -yy mode are now printed
in brackets. - Enhanced decoding of bpf, prctl and ptrace syscalls.
- Enhanced decoding of BTRFS_IOC_INO_PATHS, BTRFS_IOC_LOGICAL_INO, and PTP_*
ioctl commands. - Enhanced NETLINK_ROUTE protocol decoding.
- Updated lists of signal codes.
- Updated lists of BPF_*, BTN_*, ETH_P_*, INET_DIAG_BC_*, KEY_*, POLL*, RWF_*,
SCHED_FLAG_*, SCTP_* and error constants. - Implemented block/character device number printing in -yy mode.
- Known pixel/SDR format names are printed as comments for pixelformat fields
in v4l2 structures. - Enhanced decoding of kern_features syscall.
- Enhanced NETLINK_NETFILTER netlink protocol decoder.
- Optimized handling of large number of tracees.
- Improved wall clock time measurement in syscall count statistics
(-c -w option). - Extended the range of allowed values in -e inject=...:retval= expression.
- Added i18n support.
- Updated lists of ioctl commands from Linux 4.16.
- Enhanced manual page.
- Implemented delay injection (-e inject=SET:delay_enter= and
-
Bug fixes
- Fixed build on m68k.
- Fixed v4l2 pixelformat decoding on big-endian architectures.
- Fixed -O option.
Contributors
This release was made possible by the contributions of many people.
The maintainers are grateful to everyone who has contributed
changes or bug reports. These include:
Chen Jingpiao
Dmitry V. Levin
Elvira Khabirova
Eugene Syromyatnikov
Gleb Fotengauer-Malinovskiy
Harsha Sharma
J. Bruce Fields
Josh Triplett
Masatake YAMATO
Philipp Marek
Downloads
Please ignore so called "Source code" links provided by github above, they are useless.
strace 4.21
NEWS for strace version 4.21
-
Changes in behaviour
- Warning is now issued when -F option is used.
- Warning is now issued when a tracee with unsupported personality
is attached. - Unknown syscall numbers are now printed in hexadecimal form.
-
Improvements
- Implemented decoding of netlink descriptor attributes as file descriptors.
- Implemented decoding of hugetlb page size selection flags.
- Implemented decoding of BPF_PROG_TEST_RUN, BPF_PROG_GET_NEXT_ID,
BPF_MAP_GET_NEXT_ID, BPF_PROG_GET_FD_BY_ID, BPF_MAP_GET_FD_BY_ID,
and BPF_OBJ_GET_INFO_BY_FD commands of bpf syscall. - Enhanced decoding of get_thread_area, memfd_create, modify_ldt,
perf_event_open, reboot, s390_guarded_storage, s390_pcio_mmio_read,
s390_pci_mmio_write, s390_runtime_instr, s390_sthyi, set_thread_area,
and shmget syscalls. - Implemented decoding of KVM_* and DM_LIST_DEVICES ioctl commands.
- Implemented decoding of riscv_flush_icache syscall.
- Enhanced decoding of getsockopt and setsockopt syscalls for SOL_NETLINK
level. - Enhanced decoding of BPF_MAP_CREATE command of bpf syscall.
- Print values returned by mq_open syscall and first arguments
of mq_getsetattr, mq_notify, mq_timedreceive, and mq_timedsend syscalls
as file descriptors. - Added decoding of get_tls syscall on arm.
- Added -e trace=%pure option for tracing system calls with no arguments that
never fail. - Updated lists of IPV6_*, MAP_*, MEMBARRIER_CMD_*, MSG_*, NT_*, PKEY_*,
SHM_*, and TCP_* constants. - Added manual page for the strace-log-merge command.
- Updated lists of ioctl commands from Linux 4.15.
- Implemented biarch support for s390x.
- Implemented an optional support for symbol demangling in strace -k output
(activated by --with-libiberty configure option). - Information about availability of dema
8000
ngling and reliable personality
decoding (on architectures with multiple personalities) is now available
in strace -V output. - Added decoding of pkey_alloc, pkey_free, and pkey_mprotect syscalls on
powerpc and powerpc64. - Enhanced manual page.
-
Bug fixes
- Fixed multi-personality support in cross builds.
- Added mq_getsetattr, mq_notify, mq_open, mq_timedreceive, and mq_timedsend
syscalls to %desc tracing set. - Fixed path tracing support for mmap syscalls with indirect arguments and
for old select syscall. - Fixed decoding of arm-specific (_ARM_NR*) syscalls.
- Fixed open mode flags decoding.
- Fixed corner cases in handling of strace -ff -ttt logs by strace-log-merge.
- Error counts that exceed one billion are now printed correctly in call
summary output. - Fixed call summary header for x32 personality.
- Changes of tracee personalities are reported more reliably.
- Fixed the case when strace attaches to a tracee being inside exec and its
first syscall stop is syscall-exit-stop instead of syscall-enter-stop,
which messed up all the syscall state tracking. - Fixed printing of higher 32 bits of the return value for x32 personality.
-
Portability
- A C compiler that supports "for" loop initial declarations is now required.
- Inability to configure multiple personality support on architectures where
multiple personalities are supported leads to configuration failure during
build now. Use --enable-mpers=check to revert to the old behaviour. - Build-time requirement for the mpers support has been lowered from gawk 4
to gawk 3. - Removed incomplete and non-functional support for the CRIS architecture.
- Removed incomplete and unused support for IA-32 mode on the IA-64
architecture.
Contributors
This release was made possible by the contributions of many people.
The maintainers are grateful to everyone who has contributed
changes or bug reports. These include:
Chen Jingpiao
DJ Delorie
Dmitry V. Levin
Elvira Khabirova
Eugene Syromyatnikov
Gleb Fotengauer-Malinovskiy
Harsha Sharma
Lubomir Rintel
Masatake YAMATO
Nikolay Marchuk
Rolf Eike Beer
Victor Krapivensky
Vitaly Chaykovsky
Downloads
Please ignore so called "Source code" links provided by github above, they are useless.
strace 4.20
NEWS for strace version 4.20
-
Improvements
- Implemented decoding of NETLINK_NETFILTER netlink message types and flags.
- Implemented decoding of SECCOMP_GET_ACTION_AVAIL operation of seccomp
syscall. - Updated lists of ARPHRD_*, BPF_*, ETH_P_*, LOOP_*, MADV_*,
MEMBARRIER_CMD_*, MFD_*, SECCOMP_*, SO_*, SOL_*, TCP_*, and UFFD_FEATURE_*
constants. - Added decoding of statx syscall on hppa.
- Updated lists of ioctl commands from Linux 4.14.
-
Bug fixes
- Fixed powerpc personality support on powerpc64.
Contributors
This release was made possible by the contributions of many people.
The maintainers are grateful to everyone who has contributed
changes or bug reports. These include:
Baruch Siach
Dmitry V. Levin
Eugene Syromyatnikov
Gleb Fotengauer-Malinovskiy
JingPiao Chen
Steve McIntyre
Downloads
Officially signed release tarballs can be found at
https://sourceforge.net/projects/strace/files/strace/4.20/
Please ignore so called "Source code" links provided by github above, they are useless.
strace 4.19
NEWS for strace version 4.19
-
Changes in behaviour
- Changed formatting of personality names on tile architecture in order
to make it in line with other multi-personality architectures. - Changed field output order in struct v4l2_requestbuffers to improve in/out
field formatting. - Changed handling of multiple signal= specifications in an injection
expression: multiple specification now leads to error instead of implicit
usage the last specification.
- Changed formatting of personality names on tile architecture in order
-
Improvements
- Enhanced decoding of optlen argument of getsockopt syscall.
- Enhanced decoding of SO_LINGER option of getsockopt and setsockopt syscalls.
- Enhanced decoding of SO_PEERCRED option of getsockopt syscall.
- Enhanced decoding of IP_ADD_MEMBERSHIP, IP_DROP_MEMBERSHIP,
IPV6_ADD_MEMBERSHIP, IPV6_DROP_MEMBERSHIP, IPV6_JOIN_ANYCAST,
IPV6_LEAVE_ANYCAST, MCAST_JOIN_GROUP, and MCAST_LEAVE_GROUP options
of setsockopt syscall. - Enhanced decoding of KEYCTL_DH_COMPUTE operation of keyctl syscall
(KDF parameters decoding). - Implemented decoding of KEYCTL_RESTRICT_KEYRING operation of keyctl syscall.
- Enhanced decoding of UFFDIO_API ioctl command.
- Enhanced decoding of BPF_PROG_LOAD, BPF_MAP_CREATE, BPF_MAP_LOOKUP_ELEM,
and BPF_MAP_GET_NEXT_KEY commands of bpf syscall. - Implemented decoding of linux socket filter programs specified
for SO_ATTACH_FILTER and SO_ATTACH_REUSEPORT_CBPF socket options. - Implemented decoding of inet_diag_req_v2, inet_diag_req_compat,
packet_diag_msg, and smc_diag_msg netlink attributes of NETLINK_SOCK_DIAG. - Implemented NETLINK_SELINUX protocol specific decoding.
- Implemented decoding of netlink message ack flags.
- Implemented decoding of nlmsgerr netlink attributes.
- Implemented basic protocol specific decoding of NETLINK_CRYPTO.
- Implemented decoding of crypto_user_alg netlink attributes
of NETLINK_CRYPTO. - Implemented basic protocol specific decoding of addr, addrlabel, dcb, link,
mdb, neigh, neightbl, netconf, nsid, route, rule, tc, and tca messages
of NETLINK_ROUTE. - Implemented decoding of NETLINK_KOBJECT_UEVENT messages.
- Improved handling of unexpected tracees (the ones that cloned with
CLONE_PARENT/CLONE_PTRACE or called PTRACE_TRACEME on themselves): they
are now PTRACE_DETACH'ed instead of PTRACE_CONT'ed. - Updated lists of BPF_*, KEY_*, RWF_*, SCM_*, SO_*, and *_MAGIC constants.
- Added decoding of arch_prctl syscall on x86.
- Added decoding of seccomp, bpf, userfaultfd, membarrier, mlock2,
copy_file_range, preadv2, pwritev2, and statx on alpha. - Added decoding of statx syscall on microblaze.
- Added decoding of s390_guarded_storage syscall on s390.
- Updated lists of ioctl commands from Linux 4.13.
- Enhanced manual page.
-
Bug fixes
- Fixed printing of group_req structure on non-native personalities.
- Fixed output formatting of blkpg_ioctl_arg, dm_name_list, and iocb
structures. - Fixed formatting of nul-terminated strings which have kernel-imposed size
limit. - Fixed printing of paths that hit PATM_MAX limit in order to match kernel's
behaviour. - Fixed build warnings on Android mips64.
- Fixed unused function "is_negated_errno" build warning when built
with clang. - Fixed syscall number and arguments retrieval behaviour on sparc64 and
mips o32 after prctl(PR_SET_DUMPABLE, 0) makes PTRACE_PEEKTEXT impossible
to use if Linux kernel has commit v4.10-rc1~114^2~2. - Fixed path tracing for execveat, symlink, symlinkat, inotify_add_watch,
and inotify_init syscalls. - Fixed personality switch printing on sparc64 and risc-v.
Downloads
Officially signed release tarballs can be found at
https://sourceforge.net/projects/strace/files/strace/4.19/
Please ignore so called "Source code" links provided by github below, they are useless.
strace 4.18
NEWS for strace version 4.18
-
Improvements
- Implemented decoding of SCM_TIMESTAMP* control messages.
- Implemented decoding of netlink NLMSG_DONE messages.
- Implemented decoding of netlink generic nlmsg_type and nlmsg_flags.
- Implemented decoding of NETLINK_AUDIT, NETLINK_NETFILTER, NETLINK_ROUTE,
NETLINK_SELINUX, NETLINK_SOCK_DIAG, and NETLINK_XFRM message types. - Implemented decoding of NETLINK_GENERIC protocol families.
- Implemented basic protocol specific decoding of AF_INET, AF_INET6,
AF_NETLINK, AF_PACKET, AF_SMC, and AF_UNIX messages of NETLINK_SOCK_DIAG. - Implemented basic decoding of netlink attributes.
- Implemented basic protocol specific decoding of AF_INET, AF_NETLINK,
AF_PACKET, AF_SMC, and AF_UNIX netlink attributes of NETLINK_SOCK_DIAG. - Implemented decoding of inet_diag_msg, netlink_diag_msg, and unix_diag_msg
netlink attributes of NETLINK_SOCK_DIAG. - Updated lists of ARPHRD_*, KEYCTL_*, NDIAG_SHOW_*, RTM_*, SCM_*, SCTP_*,
SO_*, V4L2_*, and prctl ARCH_* constants. - Updated lists of ioctl commands from Linux 4.12.
-
Bug fixes
- In interactive mode (-I2), those signals that were blocked at startup
will remain blocked for the whole period of strace execution. - strace no longer resets SIGCHLD handler in tracees to the default action.
- When traced command is terminated by a blocked signal, strace unblocks
that signal to ensure its own termination with the same signal. - Fixed corner cases in decoding of old sigaction syscall.
- Fixed build with old kernel headers on mips.
- Fixed build on aarch64 and tile with glibc >= 2.26.
- Fixed build on arc and nios2.
- In interactive mode (-I2), those signals that were blocked at startup
Contributors
This release was made possible by the contributions of many people.
The maintainers are grateful to everyone who has contributed
changes or bug reports. These include:
Andreas Schwab
David Robins
Dmitry V. Levin
Eugene Syromyatnikov
Eugeniy Paltsev
Fabien Siron
Gleb Fotengauer-Malinovskiy
JingPiao Chen
Khem Raj
Masatake YAMATO
Miroslav Lichvar
Romain Naour
Victor Krapivensky
Downloads
Officially signed release tarballs can be found at
https://sourceforge.net/projects/strace/files/strace/4.18/
Please ignore so called "Source code" links provided by github below, they are useless.
strace 4.17
NEWS for strace version 4.17
-
Changes in command line syntax
- Syscall classes specified in -e trace= option now have % prefix (like
-e trace=%process). Old style class names without leading % are still
supported, but considered deprecated now.
- Syscall classes specified in -e trace= option now have % prefix (like
-
Improvements
- Optimized syscall filtering.
- Improved representation of timestamps.
- Enhanced decoding of sched_setattr syscall.
- Added -e trace=%stat option for tracing variants of stat syscall.
- Added -e trace=%lstat option for tracing variants of lstat syscall.
- Added -e trace=%fstat option for tracing variants of fstat and fstatat
syscalls. - Added -e trace=%%stat option for tracing syscalls used for querying file
status information (stat, lstat, fstat, fstatat, statx, and their
variations). - Added -e trace=%statfs option for tracing statfs, statfs64 and statvfs
syscalls. - Added -e trace=%fstatfs option for tracing fstatfs, fstatfs64 and fstatvfs
syscalls. - Added -e trace=%%statfs option for tracing syscalls used for querying file
system statistics information (statfs-like, fstatfs-like and ustat). - Added -e trace=/regex option for filtering syscalls using regular
expressions. - Added support for prepending of question mark before syscall qualification
in -e trace expressions in order to suppress error in case no syscalls
matched the provided qualification. - Implemented decoding of signal mask in rt_sigreturn syscall on alpha, arc,
arm, avr32, bfin, cris, hppa, m68k, metag, microblaze, mips, nios2, or1k,
powerpc, powerpc64, riscv, sh, sh64, sparc, sparc64, tile, x86, and xtensa
architectures. - Implemented decoding of statx syscall.
- Implemented decoding of NS_* ioctl commands.
- Implemented decoding of the remaining V4L2_BUF_TYPE_* types.
- Implemented decoding of VIDIOC_[SG]_TUNER ioctl commands.
- Implemented decoding of NLMSG_ERROR netlink messages.
- Improved decoding of BPF_PROG_ATTACH command of bpf syscall.
- Improved decoding of misplaced parts in DM_* ioctl commands.
- Updated lists of ioctl commands from Linux 4.11.
-
Bug fixes
- Fixed decoding of flags argument of preadv2 and pwritev2 syscalls on x32.
- Fixed the number of arguments and tracing flags of alpha specific syscalls.
- Fixed decoding of old sigsuspend syscall on alpha, cris, mips, powerpc,
powerpc64, sh, sh64, sparc, and sparc64. - Fixed decoding of sgetmask and ssetmask syscalls on 64-bit architectures.
- Fixed decoding of netlink messages received within struct msghdr.
- Worked around a bug in miscompiled aarch64 kernels leading to the 3rd
argument of sched_getattr syscall being not quite 32-bit. - Fixed corner cases of printing inaccessible times argument of utimes
and futimesat syscalls.
Contributors
This release was made possible by the contributions of many people.
The maintainers are grateful to everyone who has contributed
changes or bug reports. These include:
Abhishek Tiwari
Andreas Schwab
Damien Profeta
Dmitry V. Levin
Edgar Kaziahmedov
Elvira Khabirova
Eugene Syromyatnikov
Gleb Fotengauer-Malinovskiy
JingPiao Chen
Md Haris Iqbal
Nikolay Marchuk
Quentin Monnet
Rishi Bhatt
Sandhya Bankar
Victor Krapivensky
Downloads
Officially signed release tarballs can be found at
https://sourceforge.net/projects/strace/files/strace/4.17/
Please ignore so called "Source code" links provided by github below, they are useless.
strace 4.16
NEWS for strace version 4.16
-
Improvements
- Implemented syscall return value injection (-e inject=SET:retval= option).
- Implemented signal injection (-e inject=SET:signal= option).
- Implemented decoding of SUID_DUMP_* constants in PR_[GS]ET_DUMPABLE.
- Implemented decoding of all SG_* ioctl commands.
- Implemented decoding of ustat syscall.
- Implemented decoding of BPF_OBJ_PIN, BPF_OBJ_GET, BPF_PROG_ATTACH,
and BPF_PROG_DETACH commands of bpf syscall. - Enhanced decoding of sg_io_hdr and sg_io_v4 structures.
- Enhanced decoding of get_robust_list, getrandom, io_submit, set_robust_list
syscalls. - Enhanced decoding of entities of kernel long type on x32 and 8E24 mips n32 ABIs.
- Updated lists of IP_*, IPV6_*, and LOOP_* constants.
- Updated lists of ioctl commands from Linux 4.10.
- Added decoding of recently added syscalls on avr32, microblaze, ppc,
and ppc64.
-
Bug fixes
- Fixed pathmatch of oldselect syscall on 64-bit architectures.
- Fixed decoding of mmap2 syscall on s390 when arguments are not available.
- Fixed decoding of kexec_file_load, mprotect, pkey_mprotect, prctl, preadv*,
and pwritev* syscalls on x32. - Fixed printing of string arguments of getxattr and setxattr syscalls
when -s option is used to limit the printed string size. - Fixed decoding of ifconf, ifreq, and loop_info structures on non-native
personalities. - Fixed decoding of SG_* and LOOP_* ioctl commands.
- Fixed build on mips with musl libc.
- Fixed cross-building of ioctlsort.
- Applied minor formatting fixes to the manual page.
Contributors
This release was made possible by the contributions of many people.
The maintainers are grateful to everyone who has contributed
changes or bug reports. These include:
Alexey Neyman
Andre McCurdy
Dmitry V. Levin
Elvira Khabirova
Eugene Syromyatnikov
Gabriel Laskar
Gleb Fotengauer-Malinovskiy
Jacob Goense
James Cowgill
JingPiao Chen
Joakim Bech
Quentin Monnet
Seraphime Kirkovski
Марк Коренберг
Downloads
Officially signed release tarballs can be found at
https://sourceforge.net/projects/strace/files/strace/4.16/
Please ignore so called "Source code" links provided by github below, they are useless.
strace 4.15
NEWS for strace version 4.15 ============================ * Changes in behavior * Time stamps are now printed according to ISO 8601. * Changed output format of val3 parameter of futex FUTEX_WAKE_OP operation. * The last argument of mincore, sched_getaffinity, and sched_setaffinity syscalls is now formatted as an array. * Improvements * Implemented syscall fault injection (-e fault=... option). * Implemented decoding of DM_* ioctl commands. * Implemented decoding of attr parameter of perf_event_open syscall. * Implemented decoding of pkey_alloc, pkey_free, and pkey_mprotect syscalls. * Implemented dumping of mq_timedsend and mq_timedreceive syscalls. * Implemented decoding of PR_SET_FP_MODE and PR_GET_FP_MODE operations of prctl syscall. * Implemented PTRACE_GETREGS API support on m68k. * Updated lists of ARCH_*, BPF_*, BTRFS_*, FALLOC_*, MS_*, *_MAGIC, and V4L2_* constants. * Updated lists of ioctl commands from Linux 4.9. * Added decoding of recently added syscalls on arc, x32, and xtensa. * Enhanced manual page. * Bug fixes * Fixed corner cases in decoding of exit, exit_group, futimesat, getgroups, getresuid, init_module, inotify_init1, kcmp, kexec_load, lookup_dcookie, mq_getsetattr, mq_notify, mq_open, mq_timedreceive, mq_timedsend, name_to_handle_at, prctl, process_vm_readv, process_vm_writev, setfsuid, setgroups, setns, unshare, and utimes syscalls. * Fixed handling of verbose flag in printing of controls array of struct v4l2_ext_controls. * Fixed omission of field names in the output of capability, sigaction, sigevent, statfs, timespec, timeval, and utimbuf structures. * Fixed printing of unknown syscalls in siginfo structure. * Fixed decoding of ioctl constants on m68k. * Fixed cris architecture support. * Fixed cross build when host compiler does not support the same set of warning flags as the cross compiler. * Fixed build on SLE10 and SLE11. Contributors ============ This release was made possible by the contributions of many people. The maintainers are grateful to everyone who has contributed changes or bug reports. These include: Andreas Schwab Dmitry V. Levin Elvira Khabirova Eugene Syromyatnikov Gleb Fotengauer-Malinovskiy JingPiao Chen Mikulas Patocka Nahim El Atmani Sean Stangl Thomas De Schampheleire