Details
-
Type:
Bug
-
Status:
Closed
-
Priority:
Major
-
Resolution: Won't Fix
-
Affects Version/s: None
-
Fix Version/s: None
-
Component/s: Compiler: Optimizing
-
Labels:None
-
Number of attachments :
Description
The method VM_OptMachineCodeMap.generateMCInformation produces an invalid gc map at O3 level optimization.
To reproduce bug, change "test.configs" in build/test-runs/gcmap-sanity.properties so that it includes "gcstress_Opt_3" and re-run the tests via
ant -f test.xml -Dtest-run.name=gcmap-sanity
Tests will start failing with output like
validRef: TIB outside heap, ref = 0x9d800a24 tib = 0x00000000
Invalid ref reported while scanning stack
— METHOD (OPT)
Lorg/jikesrvm/compilers/opt/VM_OptMachineCodeMap;.generateMCInformation(Lorg/jikesrvm/compilers/opt/ir/OPT_GCIRMap;)Lorg/jikesrvm/compilers/opt/VM_OptMachineCodeMap;
— fp = 0x6b29fcc4 code base = 0x5b8c1ef4 code offset =0x00003243 0x6dc2fbf4:REF=0x9d800a24 TIB=0x00000000 STATUS=0x00000000 (INVALID TIB:CLASS NOT ACCESSIBLE)
...
Dumping stack starting at frame with bad ref:
– Stack –
Lorg/jikesrvm/compilers/opt/VM_OptMachineCodeMap;generateMCInformation(Lorg/jikesrvm/compilers/opt/ir/OPT_GCIRMap;)Lorg/jikesrvm/compilers/opt/VM_OptMachineCodeMap; at line 398
Lorg/jikesrvm/compilers/opt/VM_OptMachineCodeMap;create(Lorg/jikesrvm/compilers/opt/ir/OPT_IR;I)Lorg/jikesrvm/compilers/opt/VM_OptMachineCodeMap; at line 99
Lorg/jikesrvm/compilers/opt/VM_OptCompiledMethod;createFinalMCMap(Lorg/jikesrvm/compilers/opt/ir/OPT_IR;I)V at line 438
Attached output from gcmap-sanity/gcstress_Opt_1/dacapo/eclipse as an example of problem