| 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 |


