2024-03-29 10:57 AEDT

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000271mercuryBugpublic2013-06-28 15:44
Reporterpbone 
Assigned Topbone 
PriorityhighSeveritymajorReproducibilitysometimes
StatusclosedResolutionfixed 
Platformx86_64OSLinuxOS VersionDebian 6.0.6
Product Version 
Target VersionFixed in Version 
Summary0000271: Polymorphism related compiler crash.
DescriptionSome MCit code crashes the polymorphism pass of the the compiler. This occurs on both the 12.08 and main branches.
Steps To ReproduceI'll put together a small test case.
TagsNo tags attached.
Attached Files
  • ? file icon bug271.m (1,082 bytes) 2013-01-04 11:52

-Relationships
related to 0000187confirmedjuliensf Strange error with disjunctive definitions returning existential typeclass instance 
+Relationships

-Notes

~0000490

pbone (administrator)

Bug271 is caused by the handling of multiple typeclass infos for the same
    type where existentially typed variables are also present. When the
    compiler knows that a typeclass info value is a constant it is allocated
    statically on backends that support this. When the typeclass info value is
    seen a second time (on any execution path) the previously created static
    value is used for the typeclass info. However, if a predicate call's
    arguments include both a constrained universally quantified variable, and an
    existentially quantified variable, then polymorphism.m attempts to create a
    new value, regardless of whether there is an existing value. When it
    records the new value in the table of constant typeclass instance values, it
    crashes as this key is already present.

~0000524

pbone (administrator)

A fix for this was committed to the master and 13.05 branches some time ago.
+Notes

-Issue History
Date Modified Username Field Change
2012-12-31 12:03 pbone New Issue
2012-12-31 12:03 pbone Status new => assigned
2012-12-31 12:03 pbone Assigned To => pbone
2013-01-04 11:52 pbone File Added: bug271.m
2013-01-04 11:53 pbone Note Added: 0000490
2013-05-22 13:10 pbone Note Added: 0000524
2013-05-22 13:10 pbone Status assigned => closed
2013-05-22 13:10 pbone Resolution open => fixed
2013-06-28 15:44 pbone Relationship added related to 0000187
+Issue History