Mercury Bugs - mercury | |||||
View Issue Details | |||||
ID | Project | Category | View Status | Date Submitted | Last Update |
0000356 | mercury | Bug | public | 2014-08-30 10:30 | 2014-08-31 11:11 |
Reporter | C4Cypher | ||||
---|---|---|---|---|---|
Assigned To | |||||
Priority | normal | Severity | crash | Reproducibility | always |
Status | new | Resolution | open | ||
Platform | x86_64-pc-linux-gnu | OS | Ubuntu | OS Version | 14.04 'Trusty' |
Product Version | |||||
Target Version | Fixed in Version | ||||
Summary | 0000356: mmc exception thrown from instmap.m line 600 | ||||
Description | Okay, I'm still going through it all, I'm just floored that I got mmc to spit out a runtime error. Making Mercury/asm_fast.gc.trseg.debug.stseg/x86_64-pc-linux-gnu/Mercury/cs/luaMR.state.c Uncaught Mercury exception: Software Error: hlds.instmap: predicate `hlds.instmap.instmapping_set_vars_corresponding'/4: Unexpected: not_reached Here's a pastebin of the source I was working on: http://pastebin.com/Z6Fau9b3 The lines that I was editing (trying to get the switch to infer as det) when mmc started to throw exceptions are 682 - 684. The entire clause is pasted for convenience. lua_pcall(L, A) = R :- impure Result = lua_pcall(L, A, 0), ( Result = returned(R) % line 682 ; Result = returned_error(Error), throw(Error) ; unexpected($module, $pred, "Invalid result value. (WTF?)") % line 684 ). Using if-> calls rather than raw disjuncts originally triggered this. I'm going to be focusing on trying to re-arrange this clause in a manner that does not cause mmc to toss cookies. I've located the exception I've triggered in the source, instmap.m line 600, although I don't know the inner workings of the compiler to begin knowing how to interpret it. expect(negate(unify(Inst, not_reached)), $module, $pred, "not_reached"), Note: I also compiled the same code under asm_fast.gc.trseg and got the same response. | ||||
Steps To Reproduce | I've created a branch from my project with my code in the exact state it was in when I produced this issue: https://github.com/C4Cypher/Apollo-lander/tree/mmc-exception-thrown-from-instmap.m-line-600 I was able to produce this with the line mmc --make testluaMR with both asm_fast.gc.trseg.debug.stseg and asm_fast.gc.trseg emphasis placed on the options I'm using in Mercury.options | ||||
Additional Information | I'm at a loss. This library is in mid-development, and as such, it's very unstable ... I'm a long way from making a stable release. Please let me know if there's any kind of information that might help provide more light on this. | ||||
Tags | No tags attached. | ||||
Relationships | |||||
Attached Files |
Notes | |||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
||||
|
|||||
|
|
Issue History | |||||
Date Modified | Username | Field | Change | ||
---|---|---|---|---|---|
2014-08-30 10:30 | C4Cypher | New Issue | |||
2014-08-30 10:39 | C4Cypher | Note Added: 0000769 | |||
2014-08-30 11:23 | C4Cypher | Note Added: 0000770 | |||
2014-08-30 11:27 | C4Cypher | Note Edited: 0000770 | bug_revision_view_page.php?bugnote_id=770#r31 | ||
2014-08-30 11:52 | C4Cypher | Note Added: 0000771 | |||
2014-08-30 12:16 | zs | Note Added: 0000772 | |||
2014-08-30 12:20 | wangp | Note Added: 0000773 | |||
2014-08-30 12:59 | C4Cypher | Note Added: 0000774 | |||
2014-08-31 11:09 | C4Cypher | Note Added: 0000775 | |||
2014-08-31 11:10 | C4Cypher | Note Edited: 0000775 | bug_revision_view_page.php?bugnote_id=775#r33 | ||
2014-08-31 11:11 | C4Cypher | Note Edited: 0000775 | bug_revision_view_page.php?bugnote_id=775#r34 |