Mercury Bugs - mercury
View Issue Details
0000281mercuryBugpublic2013-05-06 13:152018-08-08 13:12
Reporterjuliensf 
Assigned To 
PrioritynormalSeverityminorReproducibilityalways
StatusresolvedResolutionfixed 
Platformx86_64OSMac OS XOS Version10.8.3
Product Version 
Target VersionFixed in Version 
Summary0000281: Tabling test case failures
DescriptionThe following tests cases fail in the grade none.gc.decldebug with 13.05-beta-2013-05-06.

* tests/tabling/specified

A diff of the expected and actual outputs:

aplp_vs_vplp: tabling works
 apli_vs_vpli: tabling works
-vvll_vs_vpll: tabling works
+vvll_vs_vpll: tabling does not appear to work

* tests/tabling/specified_stats

The latter appeared to go into a loop and not terminate.

(This was all at the default optimisation level.)
TagsNo tags attached.
Attached Files

Notes
(0001004)
wangp   
2018-08-08 12:32   
In the final set of trials, vp_ll_fib, the "faster" predicate vp_ll_fib is not that much faster (consistently) over the "slower" predicate vv_ll_fib for the heuristics in perform_trials.

These parameters just happen to work on my machine:

perform_trials(vvll_vs_vpll, [7, 3, 0, 4], 7304, 30, 0, 0, !IO).

The faster predicate manages to run twice as fast as the slower predicate for ten trials in a row, breaking out of the loop. I wouldn't count on it being repeatable on different machines.

NumTrials0: 0, Time: 330, MTime: 100, IntN: 7304, NumDouble: 1
NumTrials0: 1, Time: 230, MTime: 100, IntN: 7334, NumDouble: 2
NumTrials0: 2, Time: 250, MTime: 100, IntN: 7364, NumDouble: 3
NumTrials0: 3, Time: 260, MTime: 100, IntN: 7394, NumDouble: 4
NumTrials0: 4, Time: 240, MTime: 110, IntN: 7424, NumDouble: 5
NumTrials0: 5, Time: 250, MTime: 100, IntN: 7454, NumDouble: 6
NumTrials0: 6, Time: 240, MTime: 100, IntN: 7484, NumDouble: 7
NumTrials0: 7, Time: 250, MTime: 100, IntN: 7514, NumDouble: 8
NumTrials0: 8, Time: 250, MTime: 100, IntN: 7544, NumDouble: 9
vvll_vs_vpll: tabling works


I think the NumDoubles threshold in perform_trials can be relaxed. Also, perform_trials should give up more easily. I guess the 10 second time limit on a single trial will probably not be reached on a modern machine, and 1000 potential trials makes the test take took long.
(0001005)
wangp   
2018-08-08 13:12   
Should be fixed by commits bc0e8e812 and 1a5df94bc

Issue History
2013-05-06 13:15juliensfNew Issue
2018-08-08 12:32wangpNote Added: 0001004
2018-08-08 13:12wangpStatusnew => resolved
2018-08-08 13:12wangpResolutionopen => fixed
2018-08-08 13:12wangpNote Added: 0001005