[GHC] #9003: GHC eventlog: thread stop status codes modified (breaking ghc-events, threadscope, edentv)
GHC
ghc-devs at haskell.org
Wed Apr 16 09:50: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 | 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
More information about the ghc-tickets
mailing list