[GHC] #15300: Unboxed Sums Crash

GHC ghc-devs at haskell.org
Thu Jul 12 09:00:31 UTC 2018


#15300: Unboxed Sums Crash
-------------------------------------+-------------------------------------
        Reporter:  andrewthad        |                Owner:  osa1
            Type:  bug               |               Status:  new
        Priority:  highest           |            Milestone:  8.6.1
       Component:  Compiler          |              Version:  8.5
      Resolution:                    |             Keywords:  UnboxedSums
Operating System:  Unknown/Multiple  |         Architecture:
                                     |  Unknown/Multiple
 Type of failure:  None/Unknown      |            Test Case:
      Blocked By:                    |             Blocking:
 Related Tickets:                    |  Differential Rev(s):
       Wiki Page:                    |
-------------------------------------+-------------------------------------

Comment (by osa1):

 Looking at STG before and after CSE, the only difference is:

 {{{
 case val_scuG of {
   (#_|#) err_scuJ [Occ=Once] ->
       case (#_|#) [err_scuJ] of sat_scuK [Occ=Once] {
         __DEFAULT ->
             Main.$w$j ipv_scuC leftovers1_scuF sat_scuK;
       };
   ...
 }}}

 becomes:

 {{{
 case val_scuG of {
   (#_|#) err_scuJ [Occ=Once] ->
       case wild2_scuI of sat_scuK [Occ=Once] {
         __DEFAULT ->
             Main.$w$j ipv_scuC leftovers1_scuF sat_scuK;
       };
   ...
 }}}

 But note that wild2_scuI was dead before (dead binders are not printed by
 the STG printer so I'm not sure where it's bound). If the problem is
 reviving wild2_scuI then this is a duplicate of #14895.

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


More information about the ghc-tickets mailing list