Mercury Bugs - mercury
View Issue Details
0000238mercuryBugpublic2011-11-28 12:392011-12-01 16:06
Reportercolanderman 
Assigned Tozs 
PrioritynormalSeveritycrashReproducibilityalways
StatusresolvedResolutionfixed 
PlatformOSOS Version
Product Version 
Target VersionFixed in Version 
Summary0000238: Unexpected: determinism errors when compiling with --constraint-propagation
DescriptionVarious errors relating to promise_equivalent_solutions are obscured by a compiler crash when compiling with --constraint-propagation or --local-constraint-propagation. The attached program, when compiled with no optimization, produces (as expected), the error:

pes_crash.m:015: Error: call to predicate `solutions.unsorted_solutions'/2 with
pes_crash.m:015: determinism `cc_multi' occurs in a context which requires
pes_crash.m:015: all solutions.
pes_crash.m:015: Unification of V_2 and V_5 can fail.

but when compiled with --constraint-propagation, produces the crash:

Uncaught Mercury exception:
Software Error: transform_hlds.pd_util: predicate `transform_hlds.pd_util.rerun_det_analysis'/4: Unexpected: determinism errors

Other errors (such as the one produced by bug 0000237) trigger this crash as well.
TagsNo tags attached.
Attached Files? pes_crash.m (297) 2011-11-29 12:46
https://bugs.mercurylang.org/file_download.php?file_id=141&type=bug

Notes
(0000416)
zs   
2011-11-28 16:59   
Without access to pes_crash.m, I cannot confirm whether the fix of bug 237 fixes this one as well.
(0000418)
colanderman   
2011-11-29 12:46   
Sorry, forgot to upload it. Attached now.
(0000420)
zs   
2011-12-01 14:04   
Strangely, while mmc --constraint-propagation pes_crash generates the compiler abort, we get back to the benign print-message-and-exit behavior if we just add
a -v to that command line.
(0000421)
zs   
2011-12-01 16:06   
Fix committed dec 1.

Issue History
2011-11-28 12:39colandermanNew Issue
2011-11-28 16:59zsNote Added: 0000416
2011-11-29 12:46colandermanFile Added: pes_crash.m
2011-11-29 12:46colandermanNote Added: 0000418
2011-12-01 14:04zsNote Added: 0000420
2011-12-01 14:05zsStatusnew => assigned
2011-12-01 14:05zsAssigned To => zs
2011-12-01 16:06zsNote Added: 0000421
2011-12-01 16:06zsStatusassigned => resolved
2011-12-01 16:06zsResolutionopen => fixed