United StatesChange Country, Oracle Worldwide Web Sites Communities I am a... I want to...
Bug ID: JDK-7060523 Loading applet-JARs with SSL and client authentication causes concurrentModificationException throws
JDK-7060523 : Loading applet-JARs with SSL and client authentication causes concurrentModificationException throws

Details
Type:
Bug
Submit Date:
2011-06-28
Status:
Resolved
Updated Date:
2013-05-08
Project Name:
JDK
Resolved Date:
2011-08-17
Component:
deploy
OS:
windows_xp,windows_7
Sub-Component:
plugin
CPU:
x86
Priority:
P3
Resolution:
Fixed
Affected Versions:
6u23
Fixed Versions:
7u2 (b03)

Related Reports
Backport:
Backport:
Relates:
Relates:

Sub Tasks

Description
J2SE Version (please include all output from java -version flag):
java version "1.6.0_23"
Java(TM) SE Runtime Environment (build 1.6.0_23-b05)
Java HotSpot(TM) Client VM (build 19.0-b09, mixed mode, sharing)

Does this problem occur on J2SE 5.0.x or 6ux ?  Yes / No (pick one)
Java 6ux


Operating System Configuration Information (be specific):
Windows XP
 with both IE 8 and Firefox 3.6

Bug Description:
Java Plugin: Loading applet-JARs with SSL and client authentication causes ConcurrentModificationException
.
It is a regression problem and occurs only with the next-generation java-plugin

Steps to Reproduce (be specific):

Deploy an applet on a site where access is restricted to ssl client authentication.
Launch the applet and watch the java console.

(check Comments field for detail)


EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
Expected Console Output 
No error is logged

ACTUAL -
Actual Console Output
The console output starts with
Exception in thread "HandshakeCompletedNotify-Thread" java.util.ConcurrentModificationException
	at java.util.HashMap$HashIterator.nextEntry(Unknown Source)
	at java.util.HashMap$EntryIterator.next(Unknown Source)
	at java.util.HashMap$EntryIterator.next(Unknown Source)
	at com.sun.net.ssl.internal.ssl.SSLSocketImpl$NotifyHandshakeThread.run(Unknown Source)

This error appears after you choose your ssl client certificate in the java plugin client authentication dialog.

REPRODUCIBILITY :
This bug can be reproduced always.

                                    

Comments
EVALUATION

need to try with 7 and see if problem exists in 7 as well.

need to find out what triggers the com.sun.net.ssl.internal.ssl.SSLSocketImpl$NotifyHandshakeThread to begin with.
                                     
2011-06-29
EVALUATION

Please provide client authentication certificate so that I can run the testcase and reproduce the bug.

The exception is happened in a new internal class we used in bug fix 6357710 (6u18), it may cause the race condition in some scenario, the webrev for 6357710 are:

http://eltanin.us.oracle.com:8000/dennis/bug/dolphin/6.0update/6357710/webrev4/

Will investigate more when I have the client auth certificate file.
                                     
2011-06-30
EVALUATION

It looks like a race condition happened, changes need to be done in both j2se and deploy workspace, working in progress.
                                     
2011-07-05



Hardware and Software, Engineered to Work Together