United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
JDK-5050705 : Async exception installed during exception processing causes segv.

Details
Type:
Bug
Submit Date:
2004-05-20
Status:
Resolved
Updated Date:
2004-08-17
Project Name:
JDK
Resolved Date:
2004-06-15
Component:
hotspot
OS:
generic
Sub-Component:
compiler
CPU:
generic
Priority:
P3
Resolution:
Fixed
Affected Versions:
5.0
Fixed Versions:
1.4.2_06 (06)

Related Reports
Backport:
Relates:

Sub Tasks

Description
I was investigating bug 5040492 and developed a test case for what I think
was causing it and an it with 1.5.b51 and it seg. faults. With java_g
it asserts. My test case still has bugs in it so it will hang once in a
while but I've attached it in its current form anyway.


                                    

Comments
EVALUATION


This is a bug in the fix for 4998314. By repeatedly calling
handle_exception_C_helper  if  an async exception gets installed we
effectively unwind the stack at each pass. We can then see "exception pc's"
that are not compiled code (say we started out in an i2c adapter). This
either blows an assert:

assert (cb->is_nmethod(), "");

or causes  us to segfault when we call nmethod functions on a non nmethod.

Looks to me that the proper fix to 4998314 is to defer async exceptions
until we are not in the middle of processing an exception.

 
###@###.### 2004-05-20
                                     
2004-05-20
CONVERTED DATA

BugTraq+ Release Management Values

COMMIT TO FIX:
1.4.2_06
generic
tiger-rc

FIXED IN:
1.4.2_06
tiger-rc

INTEGRATED IN:
1.4.2_06
tiger-b56
tiger-rc


                                     
2004-08-18



Hardware and Software, Engineered to Work Together