#1495: newtype fixpoint sends the compiler into an infinite loop
-------------------------+--------------------------------------------------
    Reporter:  guest     |        Owner:         
        Type:  bug       |       Status:  new    
    Priority:  normal    |    Milestone:         
   Component:  Compiler  |      Version:  6.6.1  
    Severity:  minor     |   Resolution:         
    Keywords:            |   Difficulty:  Unknown
          Os:  Multiple  |     Testcase:         
Architecture:  Multiple  |  
-------------------------+--------------------------------------------------
Changes (by Isaac Dupree):

  * architecture:  x86 => Multiple
  * os:  Windows => Multiple

Comment:

 There is no recursion, in fact nothing at all on the value level here,
 only types, and no -O flags. 'russel' doesn't need newtypes either.  Also
 fails on 6.7 (and works with testInfiniteLoop commented); here is 6.7's -v
 output:
 {{{
 Glasgow Haskell Compiler, Version 6.7.20070525, for Haskell 98, compiled
 by GHC version 6.6.1
 Using package config file: /home/isaac/hardly-mine-at-
 all/build/5ghc-6.7/driver/package.conf.inplace
 wired-in package base mapped to base-2.1
 wired-in package rts mapped to rts-1.0
 wired-in package haskell98 mapped to haskell98-1.0
 wired-in package template-haskell mapped to template-haskell-0.1
 Hsc static flags: -static
 Created temporary directory: /tmp/ghc6326_0
 *** Checking old interface for main:CompilerBug:
 *** Parser:
 *** Renamer/typechecker:
 *** Desugar:
     Result size = 10
 *** Simplify:
     Result size = 6
 *** Tidy Core:
     Result size = 6
 *** CorePrep:
     Result size = 12
 *** Stg2Stg:
 *** CodeGen:
 *** CodeOutput:
 }}}
 and the end of 6.7's -v5 output:
 {{{
 *** Stg2Stg:

 ==================== Stg2Stg ====================
 CompilerBug.testInfiniteLoop =
     \u srt:SRT:[(rQ, GHC.Err.undefined)] [] GHC.Err.undefined;
 CompilerBug.testOk = \u srt:SRT:[(rQ, GHC.Err.undefined)] []
 GHC.Err.undefined;
 CompilerBug.ID = \r srt:SRT:[] [eta_s7x] CompilerBug.ID [eta_s7x];



 ==================== STG syntax: ====================
 CompilerBug.testInfiniteLoop = \u srt:(0,*bitmap*) [] GHC.Err.undefined;
 SRT(CompilerBug.testInfiniteLoop): [GHC.Err.undefined]
 CompilerBug.testOk = \u srt:(0,*bitmap*) [] GHC.Err.undefined;
 SRT(CompilerBug.testOk): [GHC.Err.undefined]
 CompilerBug.ID = \r [eta_s7x] CompilerBug.ID [eta_s7x];
 SRT(CompilerBug.ID): []


 *** CodeGen:

 }}}
 The CPU is still going, but memory usage is not increasing, and ghc
 doesn't terminate.

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/1495>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to