[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