-
Bug
-
Resolution: Fixed
-
P1
-
6u12
Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-2173162 | 6u14 | Abhijit Saha | P1 | Closed | Fixed | b02 |
on Windows Vista:
WARNING: "IOP01210228: (BAD_OPERATION) This ORB instance has been destroyed, so no operations can be performed on it"
org.omg.CORBA.BAD_OPERATION: vmcid: SUN minor code: 228 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.orbDestroyed(ORBUtilSystemException.java:586)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.orbDestroyed(ORBUtilSystemException.java:608)
at com.sun.corba.se.impl.orb.ORBImpl.checkShutdownState(ORBImpl.java:1278)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1652)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1211)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:389)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:418)
Dec 4, 2008 12:52:43 PM com.sun.corba.se.impl.orb.ORBImpl checkShutdownState
WARNING: "IOP01600004: (BAD_INV_ORDER) ORB has shutdown"
org.omg.CORBA.BAD_INV_ORDER: vmcid: OMG minor code: 4 completed: No
at com.sun.corba.se.impl.logging.OMGSystemException.badOperationAfterShutdown(OMGSystemException.java:224)
at com.sun.corba.se.impl.logging.OMGSystemException.badOperationAfterShutdown(OMGSystemException.java:246)
at com.sun.corba.se.impl.orb.ORBImpl.checkShutdownState(ORBImpl.java:1282)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1652)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1211)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:389)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:418)
These additional exceptions can indicate problems with the test. But since NPE started to appear in a code that works for older releases I suspect a regression.
JCK : JCK runtime 6b b24
J2SE : FAIL - since jdk 6u12 build 01
Platform[s] : FAIL - Any
Java options : FAIL - Any
Starting from jdk 6u12 build 01 two testcases of api/org_omg/PortableInterceptor/ServerRequestInfo/index.html#SIMethods test started to fail randomly. Approximately 1 time in 10 they fail with NullPointerException on any platform. Since behavior of the tests changed and they started to fail sometimes I suppose there is a regression. Failures appears more often on OpenSolaris and Windows Vista.
Problem can be easily reproduced, but we need to run test many times to see the failure.
Steps to reproduce:
1. Install jdk (for ex. to /export/jdk/jdk1.6.0_12/)
2. Install JCK6b (for ex. to /export/JCK/JCK-runtime-6b)
3. Prepare a simple script to run a test (run.sh) of the following content
#!/bin/bash
export JAVA=/export/jdk/jdk1.6.0_12/bin/java
export CLASSPATH="/export/JCK/JCK-runtime-6b/classes"
OPTS=""
TEST="javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests"
$JAVA -version
$JAVA $OPTS $i $TOPTS
4. Run the test 100 times with the command like
for i in {1..100}; do ./rerun.sh 1>$i 2>&1; done
5. Run a command like below to get file names with output from filed tests.
for i in {1..10}; do grep -q Failed. $i && echo "$i - failed"; done
With the version of jdk previous to 6u12 you will see all the testcases passed 100% of time even thow stack traces like this appears:
Dec 2, 2008 5:46:54 PM com.sun.corba.se.impl.orb.ORBImpl checkShutdownState
WARNING: "IOP01210228: (BAD_OPERATION) This ORB instance has been destroyed, so no operations can be performed on it"
org.omg.CORBA.BAD_OPERATION: vmcid: SUN minor code: 228 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.orbDestroyed(ORBUtilSystemException.java:586)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.orbDestroyed(ORBUtilSystemException.java:608)
at com.sun.corba.se.impl.orb.ORBImpl.checkShutdownState(ORBImpl.java:1289)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1651)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1189)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:398)
With jdk 6u12 b01 on all platform you will see that 2 testcases (simethods0003 and simethods0006) fails aproximately 10% of time with NPE and following stack trace:
java.lang.NullPointerException
at com.sun.corba.se.impl.transport.SelectorImpl.unregisterForEvent(SelectorImpl.java:164)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.closeConnectionResources(SocketOrChannelConnectionImpl.java:809)
at com.sun.corba.se.impl.transport.CorbaConnectionCacheBase.close(CorbaConnectionCacheBase.java:76)
at com.sun.corba.se.impl.transport.CorbaTransportManagerImpl.close(CorbaTransportManagerImpl.java:169)
at com.sun.corba.se.impl.orb.ORBImpl.destroy(ORBImpl.java:1335)
at javasoft.sqe.jck.lib.CORBATest$1.run(CORBATest.java:118)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithTCKSM(SecurityTestRunner.java:278)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithPermissions(SecurityTestRunner.java:235)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithAllPermissions(SecurityTestRunner.java:157)
at javasoft.sqe.jck.lib.AllPermissionSM.testRun(AllPermissionSM.java:86)
at javasoft.sqe.jck.lib.CORBATest.invokeTestCase(CORBATest.java:129)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
at javasoft.sqe.jck.lib.CORBATest.run(CORBATest.java:69)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:127)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.main(SIMethodsTests.java:371)
Other exeptions may appear.
On linux:
java.lang.NullPointerException
at com.sun.corba.se.impl.transport.SelectorImpl.unregisterForEvent(SelectorImpl.java:164)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.closeConnectionResources(SocketOrChannelConnectionImpl.java:809)
at com.sun.corba.se.impl.transport.CorbaConnectionCacheBase.close(CorbaConnectionCacheBase.java:76)
at com.sun.corba.se.impl.transport.CorbaTransportManagerImpl.close(CorbaTransportManagerImpl.java:169)
at com.sun.corba.se.impl.orb.ORBImpl.destroy(ORBImpl.java:1335)
at javasoft.sqe.jck.lib.CORBATest$1.run(CORBATest.java:118)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithTCKSM(SecurityTestRunner.java:278)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithPermissions(SecurityTestRunner.java:235)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithAllPermissions(SecurityTestRunner.java:157)
at javasoft.sqe.jck.lib.AllPermissionSM.testRun(AllPermissionSM.java:86)
at javasoft.sqe.jck.lib.CORBATest.invokeTestCase(CORBATest.java:129)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
at javasoft.sqe.jck.lib.CORBATest.run(CORBATest.java:69)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:127)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.main(SIMethodsTests.java:371)
Dec 3, 2008 12:36:21 PM com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolManagerImpl close
WARNING: "IOP00710328: (INTERNAL) ThreadGroup java.lang.ThreadGroup[name=ORB ThreadGroup 17,maxpri=10] has 1 active threads: destroy may cause exception"
org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 328 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.threadGroupHasActiveThreadsInClose(ORBUtilSystemException.java:6569)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.threadGroupHasActiveThreadsInClose(ORBUtilSystemException.java:6593)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolManagerImpl.close(ThreadPoolManagerImpl.java:109)
at com.sun.corba.se.impl.orb.ORBImpl.destroy(ORBImpl.java:1343)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.callStop(SIMethodsTests.java:132)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.simethods0009(SIMethodsTests.java:705)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:406)
at javasoft.sqe.jck.lib.CORBATest.access$001(CORBATest.java:43)
at javasoft.sqe.jck.lib.CORBATest$1.run(CORBATest.java:100)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithTCKSM(SecurityTestRunner.java:278)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithPermissions(SecurityTestRunner.java:235)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithAllPermissions(SecurityTestRunner.java:157)
at javasoft.sqe.jck.lib.AllPermissionSM.testRun(AllPermissionSM.java:86)
at javasoft.sqe.jck.lib.CORBATest.invokeTestCase(CORBATest.java:129)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
at javasoft.sqe.jck.lib.CORBATest.run(CORBATest.java:69)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:127)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.main(SIMethodsTests.java:371)
Dec 3, 2008 12:36:21 PM com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolManagerImpl close
WARNING: "IOP00710330: (INTERNAL) ThreadGroup java.lang.ThreadGroup[name=ORB ThreadGroup 17,maxpri=10] could not be destroyed"
org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 330 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.threadGroupDestroyFailed(ORBUtilSystemException.java:6629)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.threadGroupDestroyFailed(ORBUtilSystemException.java:6648)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolManagerImpl.close(ThreadPoolManagerImpl.java:117)
at com.sun.corba.se.impl.orb.ORBImpl.destroy(ORBImpl.java:1343)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.callStop(SIMethodsTests.java:132)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.simethods0009(SIMethodsTests.java:705)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:406)
at javasoft.sqe.jck.lib.CORBATest.access$001(CORBATest.java:43)
at javasoft.sqe.jck.lib.CORBATest$1.run(CORBATest.java:100)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithTCKSM(SecurityTestRunner.java:278)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithPermissions(SecurityTestRunner.java:235)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithAllPermissions(SecurityTestRunner.java:157)
at javasoft.sqe.jck.lib.AllPermissionSM.testRun(AllPermissionSM.java:86)
at javasoft.sqe.jck.lib.CORBATest.invokeTestCase(CORBATest.java:129)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
at javasoft.sqe.jck.lib.CORBATest.run(CORBATest.java:69)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:127)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.main(SIMethodsTests.java:371)
Caused by: java.lang.IllegalThreadStateException
at java.lang.ThreadGroup.destroy(ThreadGroup.java:743)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolManagerImpl.close(ThreadPoolManagerImpl.java:114)
... 19 more
simethods0006: Failed. Could not access the test case: java.lang.NullPointerException
These additional exeptions may appear even if all testcase passes.
On OpenSolaris
java.lang.NullPointerException
at com.sun.corba.se.impl.transport.SelectorImpl.unregisterForEvent(SelectorImpl.java:164)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.closeConnectionResources(SocketOrChannelConnectionImpl.java:809)
at com.sun.corba.se.impl.transport.CorbaConnectionCacheBase.close(CorbaConnectionCacheBase.java:76)
at com.sun.corba.se.impl.transport.CorbaTransportManagerImpl.close(CorbaTransportManagerImpl.java:169)
at com.sun.corba.se.impl.orb.ORBImpl.destroy(ORBImpl.java:1335)
at javasoft.sqe.jck.lib.CORBATest$1.run(CORBATest.java:118)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithTCKSM(SecurityTestRunner.java:278)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithPermissions(SecurityTestRunner.java:235)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithAllPermissions(SecurityTestRunner.java:157)
at javasoft.sqe.jck.lib.AllPermissionSM.testRun(AllPermissionSM.java:86)
at javasoft.sqe.jck.lib.CORBATest.invokeTestCase(CORBATest.java:129)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
at javasoft.sqe.jck.lib.CORBATest.run(CORBATest.java:69)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:127)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.main(SIMethodsTests.java:371)
Dec 3, 2008 12:08:04 PM com.sun.corba.se.impl.orb.ORBImpl checkShutdownState
WARNING: "IOP01600004: (BAD_INV_ORDER) ORB has shutdown"
org.omg.CORBA.BAD_INV_ORDER: vmcid: OMG minor code: 4 completed: No
at com.sun.corba.se.impl.logging.OMGSystemException.badOperationAfterShutdown(OMGSystemException.java:224)
at com.sun.corba.se.impl.logging.OMGSystemException.badOperationAfterShutdown(OMGSystemException.java:246)
at com.sun.corba.se.impl.orb.ORBImpl.checkShutdownState(ORBImpl.java:1282)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1652)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1211)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:389)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:418)
simethods0003: Failed. Could not access the test case: java.lang.NullPointerException
WARNING: "IOP01210228: (BAD_OPERATION) This ORB instance has been destroyed, so no operations can be performed on it"
org.omg.CORBA.BAD_OPERATION: vmcid: SUN minor code: 228 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.orbDestroyed(ORBUtilSystemException.java:586)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.orbDestroyed(ORBUtilSystemException.java:608)
at com.sun.corba.se.impl.orb.ORBImpl.checkShutdownState(ORBImpl.java:1278)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1652)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1211)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:389)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:418)
Dec 4, 2008 12:52:43 PM com.sun.corba.se.impl.orb.ORBImpl checkShutdownState
WARNING: "IOP01600004: (BAD_INV_ORDER) ORB has shutdown"
org.omg.CORBA.BAD_INV_ORDER: vmcid: OMG minor code: 4 completed: No
at com.sun.corba.se.impl.logging.OMGSystemException.badOperationAfterShutdown(OMGSystemException.java:224)
at com.sun.corba.se.impl.logging.OMGSystemException.badOperationAfterShutdown(OMGSystemException.java:246)
at com.sun.corba.se.impl.orb.ORBImpl.checkShutdownState(ORBImpl.java:1282)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1652)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1211)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:389)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:418)
These additional exceptions can indicate problems with the test. But since NPE started to appear in a code that works for older releases I suspect a regression.
JCK : JCK runtime 6b b24
J2SE : FAIL - since jdk 6u12 build 01
Platform[s] : FAIL - Any
Java options : FAIL - Any
Starting from jdk 6u12 build 01 two testcases of api/org_omg/PortableInterceptor/ServerRequestInfo/index.html#SIMethods test started to fail randomly. Approximately 1 time in 10 they fail with NullPointerException on any platform. Since behavior of the tests changed and they started to fail sometimes I suppose there is a regression. Failures appears more often on OpenSolaris and Windows Vista.
Problem can be easily reproduced, but we need to run test many times to see the failure.
Steps to reproduce:
1. Install jdk (for ex. to /export/jdk/jdk1.6.0_12/)
2. Install JCK6b (for ex. to /export/JCK/JCK-runtime-6b)
3. Prepare a simple script to run a test (run.sh) of the following content
#!/bin/bash
export JAVA=/export/jdk/jdk1.6.0_12/bin/java
export CLASSPATH="/export/JCK/JCK-runtime-6b/classes"
OPTS=""
TEST="javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests"
$JAVA -version
$JAVA $OPTS $i $TOPTS
4. Run the test 100 times with the command like
for i in {1..100}; do ./rerun.sh 1>$i 2>&1; done
5. Run a command like below to get file names with output from filed tests.
for i in {1..10}; do grep -q Failed. $i && echo "$i - failed"; done
With the version of jdk previous to 6u12 you will see all the testcases passed 100% of time even thow stack traces like this appears:
Dec 2, 2008 5:46:54 PM com.sun.corba.se.impl.orb.ORBImpl checkShutdownState
WARNING: "IOP01210228: (BAD_OPERATION) This ORB instance has been destroyed, so no operations can be performed on it"
org.omg.CORBA.BAD_OPERATION: vmcid: SUN minor code: 228 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.orbDestroyed(ORBUtilSystemException.java:586)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.orbDestroyed(ORBUtilSystemException.java:608)
at com.sun.corba.se.impl.orb.ORBImpl.checkShutdownState(ORBImpl.java:1289)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1651)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1189)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:398)
With jdk 6u12 b01 on all platform you will see that 2 testcases (simethods0003 and simethods0006) fails aproximately 10% of time with NPE and following stack trace:
java.lang.NullPointerException
at com.sun.corba.se.impl.transport.SelectorImpl.unregisterForEvent(SelectorImpl.java:164)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.closeConnectionResources(SocketOrChannelConnectionImpl.java:809)
at com.sun.corba.se.impl.transport.CorbaConnectionCacheBase.close(CorbaConnectionCacheBase.java:76)
at com.sun.corba.se.impl.transport.CorbaTransportManagerImpl.close(CorbaTransportManagerImpl.java:169)
at com.sun.corba.se.impl.orb.ORBImpl.destroy(ORBImpl.java:1335)
at javasoft.sqe.jck.lib.CORBATest$1.run(CORBATest.java:118)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithTCKSM(SecurityTestRunner.java:278)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithPermissions(SecurityTestRunner.java:235)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithAllPermissions(SecurityTestRunner.java:157)
at javasoft.sqe.jck.lib.AllPermissionSM.testRun(AllPermissionSM.java:86)
at javasoft.sqe.jck.lib.CORBATest.invokeTestCase(CORBATest.java:129)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
at javasoft.sqe.jck.lib.CORBATest.run(CORBATest.java:69)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:127)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.main(SIMethodsTests.java:371)
Other exeptions may appear.
On linux:
java.lang.NullPointerException
at com.sun.corba.se.impl.transport.SelectorImpl.unregisterForEvent(SelectorImpl.java:164)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.closeConnectionResources(SocketOrChannelConnectionImpl.java:809)
at com.sun.corba.se.impl.transport.CorbaConnectionCacheBase.close(CorbaConnectionCacheBase.java:76)
at com.sun.corba.se.impl.transport.CorbaTransportManagerImpl.close(CorbaTransportManagerImpl.java:169)
at com.sun.corba.se.impl.orb.ORBImpl.destroy(ORBImpl.java:1335)
at javasoft.sqe.jck.lib.CORBATest$1.run(CORBATest.java:118)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithTCKSM(SecurityTestRunner.java:278)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithPermissions(SecurityTestRunner.java:235)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithAllPermissions(SecurityTestRunner.java:157)
at javasoft.sqe.jck.lib.AllPermissionSM.testRun(AllPermissionSM.java:86)
at javasoft.sqe.jck.lib.CORBATest.invokeTestCase(CORBATest.java:129)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
at javasoft.sqe.jck.lib.CORBATest.run(CORBATest.java:69)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:127)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.main(SIMethodsTests.java:371)
Dec 3, 2008 12:36:21 PM com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolManagerImpl close
WARNING: "IOP00710328: (INTERNAL) ThreadGroup java.lang.ThreadGroup[name=ORB ThreadGroup 17,maxpri=10] has 1 active threads: destroy may cause exception"
org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 328 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.threadGroupHasActiveThreadsInClose(ORBUtilSystemException.java:6569)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.threadGroupHasActiveThreadsInClose(ORBUtilSystemException.java:6593)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolManagerImpl.close(ThreadPoolManagerImpl.java:109)
at com.sun.corba.se.impl.orb.ORBImpl.destroy(ORBImpl.java:1343)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.callStop(SIMethodsTests.java:132)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.simethods0009(SIMethodsTests.java:705)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:406)
at javasoft.sqe.jck.lib.CORBATest.access$001(CORBATest.java:43)
at javasoft.sqe.jck.lib.CORBATest$1.run(CORBATest.java:100)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithTCKSM(SecurityTestRunner.java:278)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithPermissions(SecurityTestRunner.java:235)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithAllPermissions(SecurityTestRunner.java:157)
at javasoft.sqe.jck.lib.AllPermissionSM.testRun(AllPermissionSM.java:86)
at javasoft.sqe.jck.lib.CORBATest.invokeTestCase(CORBATest.java:129)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
at javasoft.sqe.jck.lib.CORBATest.run(CORBATest.java:69)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:127)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.main(SIMethodsTests.java:371)
Dec 3, 2008 12:36:21 PM com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolManagerImpl close
WARNING: "IOP00710330: (INTERNAL) ThreadGroup java.lang.ThreadGroup[name=ORB ThreadGroup 17,maxpri=10] could not be destroyed"
org.omg.CORBA.INTERNAL: vmcid: SUN minor code: 330 completed: No
at com.sun.corba.se.impl.logging.ORBUtilSystemException.threadGroupDestroyFailed(ORBUtilSystemException.java:6629)
at com.sun.corba.se.impl.logging.ORBUtilSystemException.threadGroupDestroyFailed(ORBUtilSystemException.java:6648)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolManagerImpl.close(ThreadPoolManagerImpl.java:117)
at com.sun.corba.se.impl.orb.ORBImpl.destroy(ORBImpl.java:1343)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.callStop(SIMethodsTests.java:132)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.simethods0009(SIMethodsTests.java:705)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at javasoft.sqe.javatest.lib.MultiTest.invokeTestCase(MultiTest.java:406)
at javasoft.sqe.jck.lib.CORBATest.access$001(CORBATest.java:43)
at javasoft.sqe.jck.lib.CORBATest$1.run(CORBATest.java:100)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithTCKSM(SecurityTestRunner.java:278)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithPermissions(SecurityTestRunner.java:235)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithAllPermissions(SecurityTestRunner.java:157)
at javasoft.sqe.jck.lib.AllPermissionSM.testRun(AllPermissionSM.java:86)
at javasoft.sqe.jck.lib.CORBATest.invokeTestCase(CORBATest.java:129)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
at javasoft.sqe.jck.lib.CORBATest.run(CORBATest.java:69)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:127)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.main(SIMethodsTests.java:371)
Caused by: java.lang.IllegalThreadStateException
at java.lang.ThreadGroup.destroy(ThreadGroup.java:743)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolManagerImpl.close(ThreadPoolManagerImpl.java:114)
... 19 more
simethods0006: Failed. Could not access the test case: java.lang.NullPointerException
These additional exeptions may appear even if all testcase passes.
On OpenSolaris
java.lang.NullPointerException
at com.sun.corba.se.impl.transport.SelectorImpl.unregisterForEvent(SelectorImpl.java:164)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.closeConnectionResources(SocketOrChannelConnectionImpl.java:809)
at com.sun.corba.se.impl.transport.CorbaConnectionCacheBase.close(CorbaConnectionCacheBase.java:76)
at com.sun.corba.se.impl.transport.CorbaTransportManagerImpl.close(CorbaTransportManagerImpl.java:169)
at com.sun.corba.se.impl.orb.ORBImpl.destroy(ORBImpl.java:1335)
at javasoft.sqe.jck.lib.CORBATest$1.run(CORBATest.java:118)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithTCKSM(SecurityTestRunner.java:278)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithPermissions(SecurityTestRunner.java:235)
at javasoft.sqe.jck.lib.SecurityTestRunner.runTestWithAllPermissions(SecurityTestRunner.java:157)
at javasoft.sqe.jck.lib.AllPermissionSM.testRun(AllPermissionSM.java:86)
at javasoft.sqe.jck.lib.CORBATest.invokeTestCase(CORBATest.java:129)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:195)
at javasoft.sqe.jck.lib.CORBATest.run(CORBATest.java:69)
at javasoft.sqe.javatest.lib.MultiTest.run(MultiTest.java:127)
at javasoft.sqe.tests.api.org.omg.PortableInterceptor.ServerRequestInfo.SIMethodsTests.main(SIMethodsTests.java:371)
Dec 3, 2008 12:08:04 PM com.sun.corba.se.impl.orb.ORBImpl checkShutdownState
WARNING: "IOP01600004: (BAD_INV_ORDER) ORB has shutdown"
org.omg.CORBA.BAD_INV_ORDER: vmcid: OMG minor code: 4 completed: No
at com.sun.corba.se.impl.logging.OMGSystemException.badOperationAfterShutdown(OMGSystemException.java:224)
at com.sun.corba.se.impl.logging.OMGSystemException.badOperationAfterShutdown(OMGSystemException.java:246)
at com.sun.corba.se.impl.orb.ORBImpl.checkShutdownState(ORBImpl.java:1282)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1652)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1540)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:922)
at com.sun.corba.se.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:181)
at com.sun.corba.se.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:694)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:451)
at com.sun.corba.se.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1211)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.performWork(ThreadPoolImpl.java:389)
at com.sun.corba.se.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:418)
simethods0003: Failed. Could not access the test case: java.lang.NullPointerException
- backported by
-
JDK-2173162 api/org_omg/PortableInterceptor/ServerRequestInfo/index.html#SIMethods test fails randomly for 6u12
- Closed
- relates to
-
JDK-6714797 InitialContext.close does not close NIO socket connections
- Resolved
-
JDK-6821937 api/org_omg/PortableInterceptor/ServerRequestInfo/index.html#SIMethods test fails ocassionally
- Closed
-
JDK-6771107 IIOP: Exception thrown is changed in 6u12
- Closed