United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: 6330699 (se) VM dies when registering a SelectionKey on severals Selector
6330699 : (se) VM dies when registering a SelectionKey on severals Selector

Details
Type:
Bug
Submit Date:
2005-09-29
Status:
Resolved
Updated Date:
2011-03-17
Project Name:
JDK
Resolved Date:
2005-10-14
Component:
core-libs
OS:
solaris_1
Sub-Component:
java.nio
CPU:
sparc
Priority:
P1
Resolution:
Fixed
Affected Versions:
9.0pe
Fixed Versions:
6

Related Reports
Backport:
Relates:

Sub Tasks

Description
SJSAS 9.0 (Sun Application Server) uses NIO for its HTTP Engine. Removing the workaround for 4953599 and running performance test on Solaris literally kill the VM, without any core/log. The problem seems to be that the C heap is corrupted, so lots of threads stack up trying to get native memory from the C heap. Meanwhile, the compiler thread detects the corruption in the C heap and tries to throw a signal, and the signal handler dies -- so either the entire process dies without a core, or the process hangs.

The attachement contains a pstack log showing the signal thread hanging, and the corresponding jstack output for that.

We've tested with 1.5.0_0X and the problem happens in all version.

                                    

Comments
EVALUATION

The submitter provided access to the machine and we located the fatal error logs and core file. The current crash is because java.io.File.list is used the non-MT safe readdir (it should be using readdir_r). This is tracked by 4621211. With this fixed we need to do further testing to see if that are other issues - the submitter has accumulated a varied selection of fatal error logs which suggest problems in other areas too.
                                     
2005-09-30
EVALUATION

--

Indeed there is a second issue. With a preliminary fix for 4621211 there is still random memory corruption. I've tracked it down to a timing bug in the DevPollSelectorProvider. With a preliminary for that the tests with the app server run to completion.
                                     
2005-09-30



Hardware and Software, Engineered to Work Together