Mercury Bugs - mercury | |||||
| View Issue Details | |||||
| ID | Project | Category | View Status | Date Submitted | Last Update |
| 0000224 | mercury | Bug | public | 2011-10-24 11:59 | 2011-10-25 10:42 |
| Reporter | colanderman | ||||
|---|---|---|---|---|---|
| Assigned To | |||||
| Priority | normal | Severity | minor | Reproducibility | always |
| Status | new | Resolution | open | ||
| Platform | OS | OS Version | |||
| Product Version | |||||
| Target Version | Fixed in Version | ||||
| Summary | 0000224: STM broken without --inline-compound-threshold 10 --loop-invariants | ||||
| Description | Attached is a basic mutex implementation using STM primitives. Compile with: mmc --parallel -O0 --inline-compound-threshold 10 --loop-invariants --rebuild stm_bug And run. Program will behave as expected (uses 200% CPU on a multiproc platform, does not terminate). Recompile without either one (or both) of "--inline-compound-threshold 10" or "--loop-invariants": mmc --parallel -O0 --rebuild stm_bug And run. Program soon terminates due to failed assertion about the state of the lock. Behavior is identical under hlc.par grade (-H flag). Building without any optimization flags fails as well, since -O2 (the default) enables "--inline-compound-threshold 10" but not "--loop-invariants". | ||||
| Tags | No tags attached. | ||||
| Relationships | |||||
| Attached Files | https://bugs.mercurylang.org/file_download.php?file_id=133&type=bug https://bugs.mercurylang.org/file_download.php?file_id=134&type=bug | ||||
| Notes | |||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
|
|
|||||
|
|
||||
| Issue History | |||||
| Date Modified | Username | Field | Change | ||
|---|---|---|---|---|---|
| 2011-10-24 11:59 | colanderman | New Issue | |||
| 2011-10-24 11:59 | colanderman | File Added: stm_bug.m | |||
| 2011-10-24 12:16 | colanderman | Note Added: 0000369 | |||
| 2011-10-24 14:40 | zs | Note Added: 0000370 | |||
| 2011-10-25 10:41 | colanderman | File Added: stm.patch | |||
| 2011-10-25 10:42 | colanderman | Note Added: 0000373 | |||