United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-6860469 remix_address_expressions sets incorrect control causing crash in split_if_with_block_post
JDK-6860469 : remix_address_expressions sets incorrect control causing crash in split_if_with_block_post

Details
Type:
Bug
Submit Date:
2009-07-14
Status:
Resolved
Updated Date:
2010-04-02
Project Name:
JDK
Resolved Date:
2009-07-29
Component:
hotspot
OS:
solaris_9
Sub-Component:
compiler
CPU:
sparc
Priority:
P3
Resolution:
Fixed
Affected Versions:
hs16
Fixed Versions:
hs16 (b07)

Related Reports
Backport:
Backport:

Sub Tasks

Description
There appears to be a day one bug in remix_address_expressions where it only consults the control of one it's inputs when deciding where to place a newly created node.  It happens only rarely that this produces an unsafe answer and even more rarely does this result in a crash.  This was reported and diagnosed by Google.

                                    

Comments
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-comp/hotspot/rev/fd50a67f97d1
                                     
2009-07-16
EVALUATION

The crash started appearing with 20060905093858.nips.blockers.  This is the code that allows the bug to become visible in that it causes a crash.

 // Try not to place code on a loop entry projection
 // which can inhibit range check elimination.
 if (least != early) {
   Node* ctrl_out = least->unique_ctrl_out();
   if (ctrl_out && ctrl_out->is_CountedLoop() &&
       least == ctrl_out->in(LoopNode::EntryControl)) {
     Node* least_dom = idom(least);
     if (get_loop(least_dom)->is_member(get_loop(least))) {
       least = least_dom;
     }
   }
 }

I think it must allow later optimizations to be more effective leading to exposing this bug as a crash.  Even before this we were putting improper control on the nodes but since there was no validation of the control it wasn't noticed.
                                     
2009-07-16
EVALUATION

http://hg.openjdk.java.net/jdk7/hotspot-gc/hotspot/rev/fd50a67f97d1
                                     
2009-07-27



Hardware and Software, Engineered to Work Together