
#15158: T8089 failing with ghci, threaded1, threaded2, profthreaded -------------------------------------+------------------------------------- Reporter: alpmestan | Owner: (none) Type: bug | Status: new Priority: normal | Milestone: Component: libraries/base | Version: 8.5 Resolution: | Keywords: Operating System: Linux | Architecture: x86_64 Type of failure: Incorrect result | (amd64) at runtime | Test Case: T8089 Blocked By: | Blocking: Related Tickets: #8089, #7325, | Differential Rev(s): #15064 | Wiki Page: | -------------------------------------+------------------------------------- Comment (by bgamari): It looks to me like there is a bug in the event manager. Specifically, it apparently makes no attempt to handle overflow when computing expiration times. Namely, `GHC.Event.TimerManager.registerTimeout` has: {{{#!hs now <- getMonotonicTimeNSec let expTime = fromIntegral us * 1000 + now }}} Even worse, we currently throw away the delay requested by the user, meaning it is no longer possible to account for overflow after registration. This can be fixed, but will require a bit more allocation in timeout registration. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/15158#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler