Project

General

Profile

Bug #169

Lttng Kernel Module: Timestamp offset invalid on a 32 bit OS

Added by Matthew Khouzam about 8 years ago. Updated about 8 years ago.

Status:
Resolved
Priority:
High
Target version:
Start date:
03/13/2012
Due date:
% Done:

0%

Estimated time:

Description

In the metadata of a kernel trace we have the following clock descriptor:
clock {
name = monotonic;
uuid = "ed4eb84f-b43c-4133-8db8-28203028f97b";
description = "Monotonic Clock";
freq = 1000000000; /* Frequency, in Hz /
/
clock value offset from Epoch is: offset * (1/freq) */
offset = 18445690674791632402;
};

The offset is too high, it should be
clock {
name = monotonic;
uuid = "ed4eb84f-b43c-4133-8db8-28203028f97b";
description = "Monotonic Clock";
freq = 1000000000; /* Frequency, in Hz /
/
clock value offset from Epoch is: offset * (1/freq) */
offset = 1330617403233586776;
};
Like in UST.

#1

Updated by Matthew Khouzam about 8 years ago

Fixed in latest version.

#2

Updated by Mathieu Desnoyers about 8 years ago

  • Status changed from New to Resolved
  • Assignee set to Mathieu Desnoyers
  • Priority changed from Normal to High
  • Target version set to 2.0 stable

fixed by:

commit 17ec046afa9b641b95951ca9594c3b7351d5e658
Author: Mathieu Desnoyers <>
Date: Tue Mar 13 16:09:52 2012 -0400

Ensure that multiplication of clock offset is done on 64-bit
This is not a bug in UST per se, because we happen to force
multiplication by a ULL number, but force cast to uint64_t anyway to
ensure we don't trigger this overflow if the constant ever happen to
change.
Signed-off-by: Mathieu Desnoyers &lt;&gt;

Also available in: Atom PDF