JDK-6461204 : DebugNonSafepoints sometimes records out of range bcis
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 7
  • Priority: P4
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_9
  • CPU: sparc
  • Submitted: 2006-08-17
  • Updated: 2010-04-02
  • Resolved: 2006-11-14
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 6 JDK 7 Other
6u4Fixed 7Fixed hs10Fixed
Related Reports
Relates :  
Sometimes when running with PrintNMethods assertions are thrown because the bci recorded for a PcDesc isn't larger than the code size of the corresponding method.  This only occurs with -XX:+DebugNonSafepoints because bcis are being pulled from instructions that didn't have the right bci on them.  These are usually synthetics branches where GraphBuilder wasn't being careful about what scope the goto was actually in and the bci wasn't being used for other purposes so weren't detecting it was wrong before.

SUGGESTED FIX http://analemma.sfbay.sun.com/net/prt-archiver.sfbay/data/archived_workspaces/main/c2_baseline/2006/20060818173730.never.sux/workspace/webrevs/webrev-2006.08.18/index.html

EVALUATION The fix is to add an assert in the code which emits the debug info so that these are detected early instead of only when printing.