Bug 613969

Summary: strace doesn't log when you call clock_gettime
Product: Red Hat Enterprise Linux 6 Reporter: edb_unix
Component: straceAssignee: Roland McGrath <roland>
Status: CLOSED NOTABUG QA Contact: qe-baseos-tools-bugs
Severity: medium Docs Contact:
Priority: low    
Version: 6.0   
Target Milestone: rc   
Target Release: ---   
Hardware: All   
OS: Linux   
Whiteboard:
Fixed In Version: Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of: Environment:
Last Closed: 2010-07-13 19:28:10 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:
Attachments:
Description Flags
testprogram
none
strace of testclock on a 5.4
none
strace of testclock on 6.0 Beta none

Description edb_unix 2010-07-13 11:55:26 UTC
Created attachment 431431 [details]
testprogram

Description of problem:
Strace doesn't show when you call clock_gettime. If we compare this with our 5.4 machine where it shows.

Version-Release number of selected component (if applicable):
strace-4.5.19-1.5.el6.x86_64

How reproducible:
Always

Steps to Reproduce:
1. Program:
$ cat testclock.c
#include <time.h>
#include <stdio.h>

int main(void)
{
  int intRet;
  struct timespec res;

  intRet = clock_gettime(CLOCK_REALTIME, &res);
}

2. gcc -o testclock -lrt testclock.c

3. strace ./testclock


Actual results:
A strace without any information about calling clock_gettime


Expected results:
Strace should get a result similair to the below (taken from a Red Hat Enterprise 5.4 environment):
clock_gettime(CLOCK_REALTIME, {1279021215, 132738000}) = 0


Additional info:
See attachment for the whole strace results.

Comment 1 edb_unix 2010-07-13 11:56:40 UTC
Created attachment 431432 [details]
strace of testclock on a 5.4

Comment 2 edb_unix 2010-07-13 11:57:20 UTC
Created attachment 431433 [details]
strace of testclock on 6.0 Beta

Comment 4 Roland McGrath 2010-07-13 19:28:10 UTC
There is no bug here.  The clock_gettime call on x86_64 can now sometimes work via the kernel-supplied vDSO without making a syscall.  strace can't trace the call into the vDSO, since it's just user-mode code (albeit kernel-supplied).