View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0000244 | mercury | Bug | public | 2011-12-07 07:13 | 2011-12-10 00:28 | ||||||||
Reporter | colanderman | ||||||||||||
Assigned To | zs | ||||||||||||
Priority | normal | Severity | minor | Reproducibility | always | ||||||||
Status | feedback | Resolution | reopened | ||||||||||
Product Version | |||||||||||||
Target Version | Fixed in Version | ||||||||||||
Summary | 0000244: Re-entering partially memoized multi/nondet predicate causes spurious loop exception | ||||||||||||
Description | If a memoized multi or nondet predicate is called, and after a few (but not all) results have been returned, is called again in a context which requires all of its solutions (e.g. by the solutions module or an all [] goal), then the following spurious runtime error will be produced: Uncaught Mercury exception: Software Error: detected need for minimal model in XXX Stack dump not available in this grade. See attached program for example. Comment out the memo pragma to see the expected behavior. | ||||||||||||
Additional Information | Possibly related to bug 111. | ||||||||||||
Tags | No tags attached. | ||||||||||||
Attached Files |
|
Notes | |
zs (developer) 2011-12-09 18:08 |
This is not a bug. In such situations, the expected value of an atom depends on itself. The Mercury system cannot compute that value without minimal model tabling, as the error message says. |
colanderman (reporter) 2011-12-10 00:28 |
No, it doesn't depend on itself. The example in the attached test case isn't even recursive. Comment out the pragma memo and it runs just fine. |
Issue History | |||
Date Modified | Username | Field | Change |
---|---|---|---|
2011-12-07 07:13 | colanderman | New Issue | |
2011-12-07 07:13 | colanderman | File Added: nondet_memo_bug.m | |
2011-12-09 18:08 | zs | Note Added: 0000437 | |
2011-12-09 18:08 | zs | Status | new => resolved |
2011-12-09 18:08 | zs | Resolution | open => fixed |
2011-12-09 18:08 | zs | Assigned To | => zs |
2011-12-10 00:28 | colanderman | Note Added: 0000438 | |
2011-12-10 00:28 | colanderman | Status | resolved => feedback |
2011-12-10 00:28 | colanderman | Resolution | fixed => reopened |