
#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 | Version: 7.8.2 System | Keywords: Resolution: | Architecture: Unknown/Multiple Operating System: | Difficulty: Easy (less than 1 hour) Unknown/Multiple | Blocked By: Type of failure: Other | Related Tickets: Test Case: | Blocking: | -------------------------------+------------------------------------------- Changes (by ezyang): * cc: ezyang (added) Comment: Oof, sorry about breaking backwards compatibility in such an annoying way. I am sympathetic, but it is not clear to me what the correct path from here is. Here are some possibilities: 1. Accept that `includes/Constants.h` really is GHC internal and subject to change however we like (`f30d527344db528618f64a25250a3be557d9f287` is an example of another commit which changed numbering, so my commit is definitely in keeping with tradition), and setup `ghc-events` to match on the relevant GHC version and change its behavior appropriately. I guess we'd need to tag eventlog with the relevant GHC version (I hope we're doing that already...) To take things a step further, since ghc-events would be GHC specific, we might fold it into the GHC build tree, so it tracks changes with the rest of GHC (this might not be so appropriate as you might process eventlogs produced by one version of GHC with another version.) 2. Establish the constants as a proper ABI which we guarantee the stability of, and add comments and test-cases to prevent people from renumbering them to maintain cleanliness. We can take this further and consider the state of affairs in 7.8.2 to be a bug, and renumber back to the original version. (I believe this is your proposal.) `ghc-event` only needs to work around this particular version. (I think version numbers should be added to the eventlog format anyway.) Note: some of the fields we use these constants for are fixed size, so if we never reuse numbers we may run out of space, so we may eventually need to reuse some of them. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/9003#comment:2 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler