[GHC] #11158: Combine exprIsTrivial and cpe_ExprIsTrivial

GHC ghc-devs at haskell.org
Wed Oct 26 17:39:02 UTC 2016


#11158: Combine exprIsTrivial and cpe_ExprIsTrivial
-------------------------------------+-------------------------------------
        Reporter:  simonpj           |                Owner:
            Type:  task              |               Status:  infoneeded
        Priority:  highest           |            Milestone:  8.2.1
       Component:  Compiler          |              Version:  7.10.2
      Resolution:                    |             Keywords:
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):  Phab:D1656
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by bgamari):

 So for what it's worth the segmentation faults alluded to in comment:6 are
 from testsuite tests using the GHC API. Namely the following tests fail if
 you make `cpe_ExprIsTrivial` use `litIsTrivial`,
 {{{
 make test TEST="T12156 landmines parsed par01 T7478 T11430 T10313 comments
 parseTree annotations listcomps T12529 T8628 T6145 T8639_api T10508_api
 T1969 T5631 T3064 T5030 T12227"
 }}}

 I quickly looked at one particular example (`T8628`) and found shockingly
 few clues while running the program in `gdb`. Judging by the fact that the
 value of the `$rip` register points to unmapped memory I believe that the
 mutator is jumping to some random location in the program's image. The C
 stack offers essentially no hints. The Haskell stack, on the other hand,
 suggests that the crash was while evaluating within the lexer.

 Also, I have confirmed that allowing strings (but not integers) to be
 trivial in `cpe_ExprIsTrivial` is sufficient to prevent the crash.

--
Ticket URL: <http://ghc.haskell.org/trac/ghc/ticket/11158#comment:26>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the ghc-tickets mailing list