2024-11-22 00:32 AEDT

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000044mercuryBugpublic2008-02-20 14:05
Reporterjuliensf 
Assigned Tozs 
PriorityhighSeveritymajorReproducibilityalways
StatusresolvedResolutionfixed 
Product Version 
Target VersionFixed in Version 
Summary0000044: compiler abort in debug grades
DescriptionThe attached program causes the compiler to abort in (decl)debug grades with the
following error:

Uncaught Mercury exception:
Software Error: llds_out.m: Unexpected: stack var out of range

Compile with:

mmc --grade asm_fast.gc.tr.debug -C fzn_debug_abort.m
TagsNo tags attached.
Attached Files

-Relationships
+Relationships

-Notes

~0000074

zs (developer)

There are two reasons for the abort. First, unify_gen.m wasn't checking whether a variable it was adding to a closure was of dummy type or not. (The abort is when writing out the code that constructs the closure.) I have a fix for that. Second,
the code for recognizing whether a type is dummy or not recognized only two cases: builtin dummy types such as io.state, and types with one function symbol of arity zero. In this program, there is a notag wrapper around a dummy type. Since the representation of a notag type is always the same as the type it wraps, this notag type should be recognized as a dummy type too. I am still working on that.

~0000078

zs (developer)

fix committed feb 12.
+Notes

-Issue History
Date Modified Username Field Change
2008-02-07 16:44 juliensf New Issue
2008-02-07 16:44 juliensf File Added: fzn_debug_abort.m
2008-02-07 20:34 zs Status new => assigned
2008-02-07 20:34 zs Assigned To => zs
2008-02-07 21:27 zs Note Added: 0000074
2008-02-20 14:05 zs Status assigned => resolved
2008-02-20 14:05 zs Resolution open => fixed
2008-02-20 14:05 zs Note Added: 0000078
+Issue History