Bug 146245 (IT_62022)

Summary: clock_gettime() is not properly reported by the `strace' command
Product: Red Hat Enterprise Linux 4 Reporter: Bastien Nocera <bnocera>
Component: straceAssignee: Roland McGrath <roland>
Status: CLOSED ERRATA QA Contact: Brian Brock <bbrock>
Severity: medium Docs Contact:
Priority: medium    
Version: 4.0CC: jturner, mars, tao
Target Milestone: ---   
Target Release: ---   
Hardware: ia64   
OS: Linux   
Whiteboard:
Fixed In Version: RHBA-2005-130 Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2005-05-19 21:10:05 UTC Type: ---
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 137160, 145334    
Attachments:
Description Flags
Source for test case none

Description Bastien Nocera 2005-01-26 13:32:17 UTC
strace 4.5.8-1

# strace date
<snip>
SYS_1254(0, 0x60000fffffffb440, 0x3, 0, 0, 0, 0, 0) = 0
<snip>

Comment 1 Roland McGrath 2005-02-02 03:17:29 UTC
I have fixed this upstream.

Comment 3 Jay Turner 2005-02-10 12:04:22 UTC
Fix confirmed with strace-4.5.9-2.EL4.  Moving to PROD_READY to await release as
part of U1.

Comment 4 Tim Powers 2005-05-19 21:10:06 UTC
An advisory has been issued which should help the problem
described in this bug report. This report is therefore being
closed with a resolution of ERRATA. For more information
on the solution and/or where to find the updated files,
please follow the link below. You may reopen this bug report
if the solution does not work for you.

http://rhn.redhat.com/errata/RHBA-2005-131.html


Comment 5 Matthew A. R. Sherian 2008-10-04 02:16:17 UTC
Created attachment 319439 [details]
Source for test case

Comment 6 Matthew A. R. Sherian 2008-10-04 02:22:47 UTC
Below is the (partial) output from execution strace on the binary compiled from the attached code. Please forward this issue down-stream to the Fedora folks. They seem to have lost a patch somewhere along the way.


++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                                  Fedora 9
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0\240W \245<\0\0\0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=143096, ...}) = 0
mmap(0x3ca5200000, 2204496, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3ca5200000
mprotect(0x3ca5216000, 2093056, PROT_NONE) = 0
mmap(0x3ca5415000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0x15000) = 0x3ca5415000
mmap(0x3ca5417000, 13136, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3ca5417000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1c86908000
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1c86907000
arch_prctl(ARCH_SET_FS, 0x7f1c869076f0) = 0
mprotect(0x3ca5415000, 4096, PROT_READ) = 0
mprotect(0x3ca4962000, 16384, PROT_READ) = 0
mprotect(0x3ca6007000, 4096, PROT_READ) = 0
mprotect(0x3ca441c000, 4096, PROT_READ) = 0
munmap(0x7f1c8690a000, 137457)          = 0
set_tid_address(0x7f1c86907780)         = 28956
set_robust_list(0x7f1c86907790, 0x18)   = 0
futex(0x7fff8e92a90c, FUTEX_WAKE_PRIVATE, 1) = 0
rt_sigaction(SIGRTMIN, {0x3ca5205630, [], SA_RESTORER|SA_SIGINFO, 0x3ca520ed30}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x3ca52056c0, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x3ca520ed30}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 2), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x7f1c8692b000
write(1, "Elapsed time: 3925 ns\n", 22Elapsed time: 3925 ns
) = 22
nanosleep({0, 50}, NULL)                = 0
write(1, "Elapsed time with sleep: 45739.0"..., 38Elapsed time with sleep: 45739.000 ns
) = 38
exit_group(0)                           = ?
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
                                   RHEL5 System
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
read(3, "\177ELF\2\1\1\0\0\0\0\0\0\0\0\0\3\0>\0\1\0\0\0 V\360#0"..., 832) = 832
fstat(3, {st_mode=S_IFREG|0755, st_size=129952, ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95562000
mmap(0x3023f00000, 1131384, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_DENYWRITE, 3, 0) = 0x3023f00000
mprotect(0x3023f10000, 1065848, PROT_NONE) = 0
mmap(0x302400f000, 8192, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_DENYWRITE, 3, 0xf000) = 0x302400f000
mmap(0x3024011000, 13176, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x3024011000
close(3)                                = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95563000
mprotect(0x302400f000, 4096, PROT_READ) = 0
mprotect(0x302322c000, 12288, PROT_READ) = 0
mprotect(0x3025108000, 4096, PROT_READ) = 0
mprotect(0x3022f14000, 4096, PROT_READ) = 0
arch_prctl(ARCH_SET_FS, 0x2a95563500)   = 0
munmap(0x2a95557000, 41961)             = 0
set_tid_address(0x2a95563590)           = 5604
rt_sigaction(SIGRTMIN, {0x3023f05190, [], SA_RESTORER|SA_SIGINFO, 0x3023f0c4f0}, NULL, 8) = 0
rt_sigaction(SIGRT_1, {0x3023f05210, [], SA_RESTORER|SA_RESTART|SA_SIGINFO, 0x3023f0c4f0}, NULL, 8) = 0
rt_sigprocmask(SIG_UNBLOCK, [RTMIN RT_1], NULL, 8) = 0
getrlimit(RLIMIT_STACK, {rlim_cur=10240*1024, rlim_max=RLIM_INFINITY}) = 0
_sysctl({{CTL_KERN, KERN_VERSION}, 2, 0x7fbffff130, 35, (nil), 0}) = 0
clock_gettime(CLOCK_REALTIME, {1223086845, 4335000}) = 0
clock_gettime(CLOCK_REALTIME, {1223086845, 4491000}) = 0
fstat(1, {st_mode=S_IFCHR|0620, st_rdev=makedev(136, 0), ...}) = 0
mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2a95557000
write(1, "Elapsed time: 156000 ns\n", 24Elapsed time: 156000 ns
) = 24
clock_gettime(CLOCK_REALTIME, {1223086845, 5259000}) = 0
nanosleep({0, 50}, NULL)                = 0
clock_gettime(CLOCK_REALTIME, {1223086845, 8460000}) = 0
write(1, "Elapsed time with sleep: 3201000"..., 40Elapsed time with sleep: 3201000.000 ns
) = 40
exit_group(0)                           = ?
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++