
#10538: Simpilifier produces empty case in core, segfaults at runtime. -------------------------------------+------------------------------------- Reporter: sopvop | Owner: Type: bug | Status: new Priority: normal | Milestone: Component: Compiler | Version: 7.10.2-rc1 Keywords: | Operating System: Unknown/Multiple Architecture: | Type of failure: None/Unknown Unknown/Multiple | Blocked By: Test Case: | Related Tickets: Blocking: | Differential Revisions: | -------------------------------------+------------------------------------- In attachment is a cabal project which builds program producing segfault. Bug is affected by inlining, so test had to be split into modules. Otherwise bug did not occur, and NOINLINE pragmas didn't seem to help. Can probably be simplified much more, right now it requires some basic packages. Inspecting the core I've found that code for `r` in `main` ends with empty `case`, but should end with match on Either constructors with `show`. It fails on 7.10.1 and 7.10.2-rc1. Works on 7.8.3. It seems to be affected by inlining. For example inlining validateJson from Validator/Aeson.hs helps. Is also seems to be affected by specializing functions in Main.hs to Indentity monad. For convenience I've also put test case to https://github.com/sopvop/failidator failit.sh will init sandbox, install deps, build executable and run it. -- Ticket URL: http://ghc.haskell.org/trac/ghc/ticket/10538 GHC http://www.haskell.org/ghc/ The Glasgow Haskell Compiler