-
Bug
-
Resolution: Fixed
-
P2
-
1.4.1_03
-
b24
-
sparc
-
solaris_8
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2110247 | 5.0 | Jayalaxmi Hangal | P2 | Resolved | Fixed | tiger |
Customer Problem Description:
--------------------------------
Recent testing of SpecJAppServer on has revealed a deadlock in the serialization of JNDI results. While this shows up on JRockit, it looks to me that potential for it exists on other VMs as well.
However the cause appears to be as follows:
1. BasicNamingNode.getContinuationCtx() is called with an env argument
which is shared between threads (perhaps a default env or something?).
2. A CannotProceedException is built and its environtment is set to this
shared context.
3. Either NamingManager.getContinuationContext() or
DirectoryManager.getContinuationDirContext() is called which puts the CPE
inside the env.
4. One thread tries to serialize the env, which now contains the CPE,
while another simultaneously tries to serialize the CPE, which now contains
the env.
--------------------------------
Recent testing of SpecJAppServer on has revealed a deadlock in the serialization of JNDI results. While this shows up on JRockit, it looks to me that potential for it exists on other VMs as well.
However the cause appears to be as follows:
1. BasicNamingNode.getContinuationCtx() is called with an env argument
which is shared between threads (perhaps a default env or something?).
2. A CannotProceedException is built and its environtment is set to this
shared context.
3. Either NamingManager.getContinuationContext() or
DirectoryManager.getContinuationDirContext() is called which puts the CPE
inside the env.
4. One thread tries to serialize the env, which now contains the CPE,
while another simultaneously tries to serialize the CPE, which now contains
the env.
- backported by
-
JDK-2110247 Deadlock in the serialization of JNDI results (SpecJAppServer)
-
- Resolved
-