Bug 15334 – [REG 2.069] OS X core.time ticksPerSecond calculation is incorrect

Status
RESOLVED
Resolution
FIXED
Severity
regression
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
All
OS
Mac OS X
Creation time
2015-11-14T07:47:52Z
Last change time
2018-01-05T13:26:59Z
Assigned to
No Owner
Creator
Dan Olson

Comments

Comment #0 by gorox — 2015-11-14T07:47:52Z
The _d_initMonoTime() version(OSX) calculation for ticksPerSecond is using a flipped mach_timebase_info ratio numer/denom when it should be denom/numer. Fortunately (or unfortunately depending on your point of view) it doesn't show up as a problem on Intel OS X Macs because numer and denom are both 1. On an iOS iPhone, wrong results would be produced because numer = 125 and denom = 3. The wrong calculation shows up here: https://github.com/D-Programming-Language/druntime/blob/master/src/core/time.d#L2639 This is a regression because the correct calculation shows up in the deprecated struct TickDuration here: https://github.com/D-Programming-Language/druntime/blob/master/src/core/time.d#L2954
Comment #1 by schveiguy — 2015-11-16T13:58:50Z
Comment #2 by github-bugzilla — 2015-11-16T18:20:26Z
Commit pushed to stable at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/fdad9f502dc3a5cac0bac0cfa7d55fc4b7c273b5 Merge pull request #1432 from smolt/ticksPerSecOSXFixStable Fix issue 15334 - OS X core.time ticksPerSecond calculation is incorrect
Comment #3 by github-bugzilla — 2016-02-28T19:04:42Z
Comment #4 by github-bugzilla — 2018-01-05T13:26:59Z
Commit pushed to dmd-cxx at https://github.com/dlang/druntime https://github.com/dlang/druntime/commit/fdad9f502dc3a5cac0bac0cfa7d55fc4b7c273b5 Merge pull request #1432 from smolt/ticksPerSecOSXFixStable