[nem-bug] [Nemerle 0001008]: ICE when assigning null to a mutable
feedback at nemerle.org
feedback at nemerle.org
Sat May 5 13:08:02 CEST 2007
A NOTE has been added to this issue.
======================================================================
<http://nemerle.org/bugs/view.php?id=1008>
======================================================================
Reported By: biosap
Assigned To:
======================================================================
Project: Nemerle
Issue ID: 1008
Category: Compiler (type engine)
Reproducibility: always
Severity: major
Priority: normal
Status: new
======================================================================
Date Submitted: 05-05-2007 12:33 CEST
Last Modified: 05-05-2007 13:08 CEST
======================================================================
Summary: ICE when assigning null to a mutable
Description:
ICE while trying to compile the attached file on trunk r7626, mono
1.2.3.1.
This is the error message:
coroutines.n:62:25:62:33: debug: Internal compiler error, please report a
bug to bugs.nemerle.org. You can try modifying program near this
location.
error: internal compiler error: assertion ``False'' failed in file
generation/Typer3.n, line 448
at Nemerle.Compiler.Typer3.ClosureRef
(Nemerle.Compiler.Typedtree.Fun_header hd) [0x00000]
at Nemerle.Compiler.Typer3.LocalRef (Nemerle.Compiler.LocalValue decl,
Boolean for_store) [0x00000]
at Nemerle.Compiler.Typer3.DoWalk (Nemerle.Compiler.Typedtree.TExpr
expr) [0x00000]
at Nemerle.Compiler.Typer3+_N__N_method_lambda_49625.apply
(Nemerle.Compiler.Typedtree.TExpr _N_49624) [0x00000]
at Nemerle.Compiler.Typedtree.TExpr.null_walk
(Nemerle.Builtins.Function`2 f, Nemerle.Compiler.Typedtree.TExpr expr)
[0x00000]
at Nemerle.Compiler.Typedtree.TExpr.do_walk (Nemerle.Builtins.Function`2
f, Nemerle.Compiler.Typedtree.TExpr expr) [0x00000]
at Nemerle.Compiler.Typedtree.TExpr.walk (Nemerle.Builtins.Function`2 f,
Nemerle.Compiler.Typedtree.TExpr expr) [0x00000]
at Nemerle.Compiler.Typedtree.TExpr.do_walk (Nemerle.Builtins.Function`2
f, Nemerle.Compiler.Typedtree.TExpr expr) [0x00000]
at Nemerle.Compiler.Typedtree.TExpr.walk (Nemerle.Builtins.Function`2 f,
Nemerle.Compiler.Typedtree.TExpr expr) [0x00000]
at Nemerle.Compiler.Typedtree.TExpr.Walk (Nemerle.Builtins.Function`2 f)
[0x00000]
at Nemerle.Compiler.Typer3.Walk (Nemerle.Compiler.Typedtree.TExpr expr)
[0x00000]
at Nemerle.Compiler.Typer3.DoWalk (Nemerle.Compiler.Typedtree.TExpr
expr) [0x00000]
at Nemerle.Compiler.Typer3+_N__N_method_lambda_49625.apply
(Nemerle.Compiler.Typedtree.TExpr _N_49624) [0x00000]
at Nemerle.Compiler.Typedtree.TExpr.walk (Nemerle.Builtins.Function`2 f,
Nemerle.Compiler.Typedtree.TExpr expr) [0x00000]
at Nemerle.Compiler.Typedtree.TExpr.do_walk (Nemerle.Builtins.Function`2
f, Nemerle.Compiler.Typedtree.TExpr expr) [0x00000]
at Nemerle.Compiler.Typedtree.TExpr.walk (Nemerle.Builtins.Function`2 f,
Nemerle.Compiler.Typedtree.TExpr expr) [0x00000]
at Nemerle.Compiler.Typedtree.TExpr.do_walk (Nemerle.Builtins.Function`2
f, Nemerle.Compiler.Typedtree.TExpr expr) [0x00000]
at Nemerle.Compiler.Typedtree.TExpr.walk (Nemerle.Builtins.Function`2 f,
Nemerle.Compiler.Typedtree.TExpr expr) [0x00000]
at Nemerle.Compiler.Typedtree.TExpr.Walk (Nemerle.Builtins.Function`2 f)
[0x00000]
at Nemerle.Compiler.Typer3.Walk (Nemerle.Compiler.Typedtree.TExpr expr)
[0x00000]
at Nemerle.Compiler.Typer3.Run () [0x00000]
at Nemerle.Compiler.Typer3.SetEnumeratorBody
(Nemerle.Compiler.TypeBuilder clo_type, Nemerle.Compiler.Subst subst,
Nemerle.Core.list`1 parm_field_names) [0x00000]
at Nemerle.Compiler.Typer3.PrepareClosure () [0x00000]
at Nemerle.Compiler.Typer3.PrepareProlog () [0x00000]
at Nemerle.Compiler.Typer3.Run () [0x00000]
at Nemerle.Compiler.Typer.RunSecondPass (Nemerle.Compiler.MethodBuilder
meth) [0x00000]
at Nemerle.Compiler.Typer..ctor (Nemerle.Compiler.MethodBuilder m)
[0x00000]
at Nemerle.Compiler.CompilerComponentsFactory.CreateTyper
(Nemerle.Compiler.MethodBuilder m) [0x00000]
at Nemerle.Compiler.MethodBuilder.RunBodyTyper () [0x00000]
at Nemerle.Compiler.MethodBuilder.Compile () [0x00000]
at Nemerle.Compiler.TypeBuilder.EmitImplementation () [0x00000]
at Nemerle.Compiler.TypesManager+_N_emit_impl_33811.apply_void
(Nemerle.Compiler.TypeBuilder _N_33810) [0x00000]
at Nemerle.Compiler.TypesManager+_N_maybe_f_34431.apply_void
(Nemerle.Compiler.TypeBuilder _N_34430) [0x00000]
at Nemerle.Collections.List.Iter[TypeBuilder] (Nemerle.Core.list`1 l,
Nemerle.Builtins.FunctionVoid`1 f) [0x00000]
at Nemerle.Core.list`1[Nemerle.Compiler.TypeBuilder].Iter
(Nemerle.Builtins.FunctionVoid`1 ) [0x00000]
at Nemerle.Compiler.TypesManager.Iter (Nemerle.Core.list`1 builders,
Nemerle.Builtins.FunctionVoid`1 f) [0x00000]
at Nemerle.Compiler.TypesManager.Iter (Nemerle.Builtins.FunctionVoid`1
f) [0x00000]
at Nemerle.Compiler.TypesManager.compile_all_tyinfos (Boolean aux_phase)
[0x00000]
at Nemerle.Compiler.TypesManager+_N__N_l33238_33336.apply_void ()
[0x00000]
at Nemerle.Compiler.Solver.Enqueue (Nemerle.Builtins.FunctionVoid
action) [0x00000]
at Nemerle.Compiler.TypesManager.EmitDecls () [0x00000]
at Nemerle.Compiler.ManagerClass.Run () [0x00000]
at Nemerle.CommandlineCompiler.MainClass.main_with_catching () [0x00000]
======================================================================
----------------------------------------------------------------------
divan - 05-05-07 13:08
----------------------------------------------------------------------
Problem is related to closure/this + yield + finally
Following gets the same ICE:
class A {
f () : System.Collections.Generic.IEnumerator[int] {
try {}
finally { this };
yield 1;
}
}
()
Issue History
Date Modified Username Field Change
======================================================================
05-05-07 12:33 biosap New Issue
05-05-07 12:33 biosap File Added: coroutines.n
05-05-07 13:08 divan Note Added: 0001874
======================================================================
More information about the bugs
mailing list