View Issue Details [ Jump to Notes ] | [ Issue History ] [ Print ] | ||||||||
ID | Project | Category | View Status | Date Submitted | Last Update | ||||
---|---|---|---|---|---|---|---|---|---|
0000364 | mercury | Bug | public | 2014-10-01 16:25 | 2014-10-07 11:37 | ||||
Reporter | pbone | ||||||||
Assigned To | pbone | ||||||||
Priority | normal | Severity | minor | Reproducibility | sometimes | ||||
Status | resolved | Resolution | fixed | ||||||
Platform | x86_64 | OS | Linux | OS Version | Debian jessie | ||||
Product Version | |||||||||
Target Version | Fixed in Version | ||||||||
Summary | 0000364: Autoparallelisation analysis crashes on nondet disjunctions. | ||||||||
Description | Matthias Guedemann submitted this bug via e-mail users@mercurylang.org in September 2014. > mdprof_create_feedback chokes on the created Deep.data file. I always > get the error: > > ,---- > | Uncaught Mercury exception: > | Software Error: measurements: predicate `measurements.check_total_calls'/3: Unexpected: TotalCalls \= CallsA + CallsB > | Stack dump not available in this grade. > `---- > > when using > > % mdprof_create_feedback --implicit-parallelism Deep.data feedback.data | ||||||||
Steps To Reproduce | MCFLAGS: --deep-profiling --profile-for-feedback mdprof_create_feedback --implicit-parallelism Deep.data feedback.data | ||||||||
Additional Information | I'd like to attempt to explain what's happening, this may be pretty detailed so feel free to ignore it, I'm mostly explaining this to myself :-). The autoparallelisation analysis scans your whole program for places where parallelism could help (it skips parts of the program where it's obvious that it won't help). It crashes when it looks in euler_81_82_83_problem_set.euler_edge_81/4 which is nondeterminisic. It tries to calculate the cost of every goal including the disjunction as a whole, however it assumes that the disjunction is either a switch or a "semidet disjunction" which is another special case. This incorrect assumption causes the analysis to crash (because a consistency check fails). It might be possible to comment out the consistency check, but then I'd be concerned that something else would crash because of the same faulty assumption. I'll see if I can fix the bug in the next week or so. | ||||||||
Tags | No tags attached. | ||||||||
Attached Files |
|
Notes | |
pbone (administrator) 2014-10-07 11:37 |
Fixed in revision: 4a431556b5b63e2f04de272684dd5abca18e86e0 https://github.com/Mercury-Language/mercury/commit/4a431556b5b63e2f04de272684dd5abca18e86e0 |
Issue History | |||
Date Modified | Username | Field | Change |
---|---|---|---|
2014-10-01 16:25 | pbone | New Issue | |
2014-10-01 16:25 | pbone | Status | new => assigned |
2014-10-01 16:25 | pbone | Assigned To | => pbone |
2014-10-01 16:25 | pbone | File Added: euler.tgz | |
2014-10-01 16:26 | pbone | Status | assigned => acknowledged |
2014-10-01 16:39 | pbone | Status | acknowledged => assigned |
2014-10-07 11:37 | pbone | Note Added: 0000792 | |
2014-10-07 11:37 | pbone | Status | assigned => resolved |
2014-10-07 11:37 | pbone | Resolution | open => fixed |