[GHC] #9003: GHC eventlog: thread stop status codes modified (breaking ghc-events, threadscope, edentv)
GHC
ghc-devs at haskell.org
Wed Apr 16 09:25:16 UTC 2014
#9003: GHC eventlog: thread stop status codes modified (breaking ghc-events,
threadscope, edentv)
-------------------------------------------+-------------------------------
Reporter: jberthold | Owner: simonmar
Type: bug | Status: new
Priority: normal | Milestone: 7.8.3
Component: Runtime System | Version: 7.8.2
Keywords: | Operating System:
Architecture: Unknown/Multiple | Unknown/Multiple
Difficulty: Easy (less than 1 hour) | Type of failure: Other
Blocked By: | Test Case:
Related Tickets: | Blocking:
-------------------------------------------+-------------------------------
A patch in GHC-7.7 modified the "thread stop status" encoding, so the
current ghc-events (version 0.4.2.0 from 2012) produces wrong stop reasons
when reading an eventlog written by GHC-7.8.2.
The GHC patch is
http://git.haskell.org/ghc.git/commit/70e20631742e516c6a11c3c112fbd5b4a08c15ac
The MVarRead block reason was added in the middle, shifting all following
block reason codes one up.
The error can be observed when a thread blocks on a black hole during a
program run. Attached is a small test program which produces this
situation, and two event logs for the same program run with the same
arguments and RTS parameters. The program's two threads evaluate the same
data, the parent thread typically blocks on a blackhole created by a
forked child thread. Note the sequence around user event "child": The log
written by GHC-7.6.3 correctly shows blocking on a black hole, while the
log written by GHC-7.8.2 claims the main thread blocks "on I/O read".
--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/9003>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
More information about the ghc-tickets
mailing list