2024-07-16 00:09 AEST

View Issue Details Jump to Notes ]
IDProjectCategoryView StatusLast Update
0000552mercuryBugpublic2022-03-17 15:00
Assigned Tozs 
PrioritynormalSeverityminorReproducibilityhave not tried
Product Version 
Target VersionFixed in Version 
Summary0000552: Compiler aborts in deep_profiler directory in Java grade with --intermod-opt
DescriptionBuilding the Mercury system with

    MCFLAGS = --intermod-opt -O0

in the Java grade causes the following abort in the deep_profiler directory

Making Mercury/javas/jmercury/dense_bitset.java
Making Mercury/javas/jmercury/display.java
Making Mercury/javas/jmercury/display_report.java
Uncaught Mercury exception:
Software Error: map.lookup: key not found
        Key Type: term.var(parse_tree.prog_data.prog_var_type)
        Key Value: var(287)
        Value Type: ml_backend.ml_gen_info.ml_ground_terma

Additional InformationMercury: 22.01-beta-2022-03-16, rotd-2022-03-16
GCC: 4.8.5
OS: CentOS 7
TagsNo tags attached.
Attached Files




zs (developer)

That is a strange pair of build flags. Do not optimize anything,
but do so across module boundaries? :-)


juliensf (administrator)

Yes and no. It's not something I would do by choice. The script I am using to test the release steps through all combinations of -O0 -> -O6 with and without --intermod-opt; the problem arose there. I suspect the issue may arise at other optimisation levels as well.


zs (developer)

I know the cause of the problem. I am testing a fix.


zs (developer)

Fix committed 2022 mar 17.

-Issue History
Date Modified Username Field Change
2022-03-16 21:31 juliensf New Issue
2022-03-16 21:42 zs Note Added: 0001182
2022-03-16 22:00 juliensf Note Added: 0001183
2022-03-17 09:09 zs Note Added: 0001184
2022-03-17 15:00 zs Assigned To => zs
2022-03-17 15:00 zs Status new => resolved
2022-03-17 15:00 zs Resolution open => fixed
2022-03-17 15:00 zs Note Added: 0001185
+Issue History