#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