Description of problem: On my x86_64 system, most of the field values shown for the "newfstatat" system call are incorrect. For example, "st_size" is a factor of 2^32 larger than what it should be. This seems to affect only "newfstat", used by find(1), and not more traditional calls such as "lstat" used by stat(1). Version-Release number of selected component (if applicable): strace-4.5.18-2.fc11.x86_64 How reproducible: Always Steps to Reproduce: echo -n '1' >size1 echo -n '1234567890' >size10 strace -e trace=newfstatat -v find * -printf '' Actual results: newfstatat(AT_FDCWD, "size1", {st_dev=makedev(253, 3), st_ino=1255678337, st_mode=01, st_nlink=0, st_uid=33152, st_gid=500, st_blksize=0, st_blocks=4096, st_size=4294967296, st_atime=1969/12/31-19:00:08, st_mtime=2009/10/16-03:32:17, st_ctime=0}, AT_SYMLINK_NOFOLLOW) = 0 newfstatat(AT_FDCWD, "size10", {st_dev=makedev(253, 3), st_ino=1255678337, st_mode=01, st_nlink=0, st_uid=33152, st_gid=500, st_blksize=0, st_blocks=4096, st_size=42949672960, st_atime=1969/12/31-19:00:08, st_mtime=2009/10/16-03:32:17, st_ctime=0}, AT_SYMLINK_NOFOLLOW) = 0 Expected results: Data that matches the output of stat(1).
I just tested the upstream strace from http://sourceforge.net/projects/strace/ and it has the same problem, but it doesn't seem to have a bug tracker.
Fixed in 4.5.19-1.
Verified, the problem appears to be gone in strace-4.5.19-1.fc11.x86_64 from Koji.