Regression: strace >=4.8 does not show filenames when tracing `man`
Andrew Guertin
lists at dolphinling.net
Mon Mar 30 02:37:33 UTC 2015
When running the command
`strace -e trace=file man`
I don't get filenames in the output. For all other executables I've
tried, strace works fine. Only man has problems.
The output in versions 4.8, 4.9, and 4.10 looks like
execve("/usr/bin/man", ["man"], [/* 70 vars */]) = 0
access(0x7fcc920558d0, R_OK) = -1 ENOENT (No such file or
directory)
open(0x7fcc9205327d, O_RDONLY|O_CLOEXEC) = 3
open(0x7fcc922511b8, O_RDONLY|O_CLOEXEC) = 3
open(0x7fcc91e075a0, O_RDONLY|O_CLOEXEC) = 3
open(0x408ee3, O_RDONLY) = 3
open(0x7fff5b0acc40, O_RDONLY) = -1 ENOENT (No such file or
directory)
open(0x7fff5b0acc40, O_RDONLY) = -1 ENOENT (No such file or
directory)
open(0x7fff5b0acc40, O_RDONLY) = 4
What manual page do you want?
In strace 4.7, it worked, but there were errors (again, these errors
only show when tracing man, not other programs) :
execve("/usr/bin/man", ["man"], [/* 70 vars */]) = 0
access(process_vm_readv: Operation not permitted
"/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or directory)
open(process_vm_readv: Operation not permitted
"/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open(process_vm_readv: Operation not permitted
"/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open(process_vm_readv: Operation not permitted
"/usr/lib64/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
open(process_vm_readv: Operation not permitted
"/etc/man.conf", O_RDONLY) = 3
open(process_vm_readv: Operation not permitted
"/usr/share/locale/en_US.UTF-8/man", O_RDONLY) = -1 ENOENT (No such file
or directory)
open(process_vm_readv: Operation not permitted
"/usr/share/locale/en_US.UTF-8/LC_MESSAGES/man", O_RDONLY) = -1 ENOENT
(No such file or directory)
open(process_vm_readv: Operation not permitted
"/usr/share/locale/en/man", O_RDONLY) = 4
What manual page do you want?
In strace 4.6 and 4.5.20 (older versions untested) everything worked fine:
execve("/usr/bin/man", ["man"], [/* 70 vars */]) = 0
access("/etc/ld.so.preload", R_OK) = -1 ENOENT (No such file or
directory)
open("/etc/ld.so.cache", O_RDONLY|O_CLOEXEC) = 3
open("/lib64/libc.so.6", O_RDONLY|O_CLOEXEC) = 3
open("/usr/lib64/locale/locale-archive", O_RDONLY|O_CLOEXEC) = 3
open("/etc/man.conf", O_RDONLY) = 3
open("/usr/share/locale/en_US.UTF-8/man", O_RDONLY) = -1 ENOENT (No such
file or directory)
open("/usr/share/locale/en_US.UTF-8/LC_MESSAGES/man", O_RDONLY) = -1
ENOENT (No such file or directory)
open("/usr/share/locale/en/man", O_RDONLY) = 4
All of this testing was done on gentoo.
More information about the Strace-devel
mailing list