JDK-6659551 : bug fix of 6258466 leftover unchecked path for NULL
  • Type: Bug
  • Component: hotspot
  • Sub-Component: compiler
  • Affected Version: 1.4.2_16
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • OS: solaris_10
  • CPU: sparc
  • Submitted: 2008-02-05
  • Updated: 2010-07-15
  • Resolved: 2008-08-11
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.
Other Other
1.4.2_18-rev b10Fixed 1.4.2_19Fixed
Description
Multiple Java crashes in AS in production and UAT environments.  Cores and libs collected.  analysis:

============================================
(dbx) pwd
/cores/dir20/65809888/01_28_07/65809888-012808-barcelona2
dbx) where
current thread: t@25
=>[1] Compile::call_generator(0xfd9ac000, 0x84e, 0x1, 0x198a8e8, 0x1, 0x3edd0284), at 0xfd556ca8
[2] Parse::do_call(0x198a8e8, 0x1dd9c08, 0x6f77eca8, 0x195c5b8, 0x1, 0x195bf85), at 0xfd558e3c
[3] Parse::do_one_bytecode(0x6f77eca8, 0x195c33c, 0x0, 0x1e9f96c, 0xfd51bc94, 0x195befd), at 0xfd50321c
[4] Parse::do_one_block(0x6f77eca8, 0x195bc9c, 0x2c, 0x198a8c0, 0x13eda78, 0x73), at 0xfd5416fc
[5] Parse::visit_blocks(0x6f77eca8, 0x3294d28, 0x1, 0x469e58, 0xfd573654, 0x195b771), at 0xfd8c85c4
[6] Parse::Parse(0x6f77eca8, 0x0, 0x195bf2c, 0x45b8f75b, 0x4150000, 0x195bd05), at 0xfd573a1c
[7] ParseGenerator::generate(0x3294cac, 0x1989ee0, 0x6f77ede0, 0x3f7ff972, 0xbf800000, 0x73), at 0xfd575d6c
[8] PredictedCallGenerator::generate(0xfd9f8e88, 0x198a820, 0x3800, 0x3b70, 0x1e9c574, 0x3f7fe8f9), at 0xfd63de18
[9] Parse::do_call(0x1989ee0, 0x3294cec, 0x1, 0x195ad8c, 0x195ad48, 0x195adc4), at 0xfd558e9c
[10] Parse::do_one_bytecode(0x6f77f098, 0x195adc4, 0x0, 0x13ecb94, 0x13ecbdc, 0x15c8000), at 0xfd50321c
[11] Parse::do_one_block(0x6f77f098, 0x32938b4, 0x1, 0x1b4c4d0, 0x13ec5d8, 0x1b4c4d1), at 0xfd5416fc
[12] Parse::visit_blocks(0x6f77f098, 0x32937f4, 0x1, 0x469e58, 0xfd573654, 0x15c8000), at 0xfd8c85c4
[13] Parse::Parse(0x6f77f098, 0x0, 0x15c8438, 0x47055c00, 0x0, 0x1b4c469), at 0xfd573a1c
[14] ParseGenerator::generate(0x32937e4, 0x1b4c420, 0x6f77f414, 0xfd9ac000, 0x0, 0x0), at 0xfd575d6c
[15] Compile::Compile(0xfd95b6b1, 0x13853f4, 0x32937e4, 0x1e9541c, 0xffffffff, 0x1), at 0xfd6026ac
[16] C2Compiler::compile_method(0x94760, 0x6f77fd1c, 0x0, 0x13ec5d8, 0xffffffff, 0x0), at 0xfd5ff0bc
[17] CompileBroker::invoke_compiler_on_method(0xdc4, 0x0, 0xffffffff, 0xfd9eb7d0, 0xfd9f8e88, 0x3567a8), at 0xfd5fe880
[18] CompileBroker::compiler_thread_loop(0xfd95bf04, 0xfd9ebbbc, 0x3567a8, 0x356d60, 0x340530, 0xfd66ba34), at 0xfd6ae7f0
[19] JavaThread::run(0x3567a8, 0x19, 0x40, 0x0, 0x40, 0x0), at 0xfd66ba5c
[20] java_start(0x3567a8, 0xfded3000, 0x0, 0x0, 0x0, 0x0), at 0xfd8b9d28

Comments
EVALUATION This is a leftover from bug fix 6258466, it is not applied to 5.0 and above oversion.
12-03-2010

EVALUATION see comments.
05-02-2008

SUGGESTED FIX --- doCall.cpp Tue Feb 5 09:52:55 2008 *************** *** 148,154 **** // Existing behavior calls for a predicted call only if the // receiver_method's holder is ik. We should investigate the benefits // of predicted calls in other cases. ! if (receiver_method->holder() != ik) { receiver_method = NULL; } } --- 148,154 ---- // Existing behavior calls for a predicted call only if the // receiver_method's holder is ik. We should investigate the benefits // of predicted calls in other cases. ! if (receiver_method != NULL && receiver_method->holder() != ik) { receiver_method = NULL; } }
05-02-2008