I am noticing that while running sigtest v1.4.1, I sometimes do not get notified of the "Added" or "Missing" info. This seems to work find for static mode. The place it does not seem to work so well is in Reflection mode when a class can not been properly found/loaded. In this latter case, I do not get any info about what class/method was being tested, instead I only see an exception.
Again - the problem seems to be Reflection mode when a class in my sigfile can not be found since it was not loaded into the JVM. (The example I tripped over involved a referenced class that was being passed as an arg in my golden sig file but that referenced arg/class had not been loaded into the VM and thus could not be found. This resulted in a stack trace but did not include information about the missing class. (see stack trace info below.)
What might be more helpful would be if we could say what class/method was being tested when this exception was thrown. Any additional info printed out about the class, method, and even the arg that was a problem would have been MUCH more useful.
-phendley (x20806)
ps. The stack trace I end up seeing is:
[#|2007-02-09T10:45:23.446-0500|WARNING|sun-appserver-pe9.0|javax.enterprise.system.stream.err|_ThreadID=20;_ThreadName=p: thread-pool-1; w: 8;_RequestID=8e219215-0d33-483c-9bc6-88d6082228f8;|
java.lang.NoClassDefFoundError: javax/activation/DataHandler
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
at java.lang.Class.getDeclaredMethods(Class.java:1763)
at com.sun.tdk.signaturetest.TigerRefgClassDescription.readMethods(TigerRefgClassDescription.java:186)
at com.sun.tdk.signaturetest.TigerRefgClassDescription.readClass(TigerRefgClassDescription.java:122)
at com.sun.tdk.signaturetest.TigerRefgClassDescription.<init>(TigerRefgClassDescription.java:69)
at com.sun.tdk.signaturetest.TigerRefgClassDescrLoader.load(TigerRefgClassDescrLoader.java:29)
at com.sun.tdk.signaturetest.ClassCorrector.load(ClassCorrector.java:504)
at com.sun.tdk.signaturetest.ClassCorrector.fixMethods(ClassCorrector.java:197)
at com.sun.tdk.signaturetest.ClassCorrector.fixClass(ClassCorrector.java:53)
at com.sun.tdk.signaturetest.BaseClassDescrLoader.fixClass(BaseClassDescrLoader.java:82)
at com.sun.tdk.signaturetest.BaseClassDescrLoader.createMembers(BaseClassDescrLoader.java:77)
at com.sun.tdk.signaturetest.SignatureTest.verifyClass(SignatureTest.java:833)
at com.sun.tdk.signaturetest.SignatureTest.check(SignatureTest.java:664)
at com.sun.tdk.signaturetest.SignatureTest.run(SignatureTest.java:245)
at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.ts.tests.signaturetest.SigTestDriver.runSignatureTest(SigTestDriver.java:134)
at com.sun.ts.tests.signaturetest.SignatureTestDriver.executeSigTest(SignatureTestDriver.java:221)
at com.sun.ts.tests.signaturetest.SigTestEE.signatureTest(SigTestEE.java:193)
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:585)
at com.sun.ts.lib.harness.EETest.run(EETest.java:495)
at com.sun.ts.lib.harness.ServiceEETest.run(ServiceEETest.java:112)
at com.sun.ts.tests.common.vehicle.ejb.EJBVehicle.runTest(EJBVehicle.java:70)
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:585)
at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1050)
at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:165)
at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2766)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3847)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:190)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:107)
at $Proxy43.runTest(Unknown Source)
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:585)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:121)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:650)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:193)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1705)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1565)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:947)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:178)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:717)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1270)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:479)
Again - the problem seems to be Reflection mode when a class in my sigfile can not be found since it was not loaded into the JVM. (The example I tripped over involved a referenced class that was being passed as an arg in my golden sig file but that referenced arg/class had not been loaded into the VM and thus could not be found. This resulted in a stack trace but did not include information about the missing class. (see stack trace info below.)
What might be more helpful would be if we could say what class/method was being tested when this exception was thrown. Any additional info printed out about the class, method, and even the arg that was a problem would have been MUCH more useful.
-phendley (x20806)
ps. The stack trace I end up seeing is:
[#|2007-02-09T10:45:23.446-0500|WARNING|sun-appserver-pe9.0|javax.enterprise.system.stream.err|_ThreadID=20;_ThreadName=p: thread-pool-1; w: 8;_RequestID=8e219215-0d33-483c-9bc6-88d6082228f8;|
java.lang.NoClassDefFoundError: javax/activation/DataHandler
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2395)
at java.lang.Class.getDeclaredMethods(Class.java:1763)
at com.sun.tdk.signaturetest.TigerRefgClassDescription.readMethods(TigerRefgClassDescription.java:186)
at com.sun.tdk.signaturetest.TigerRefgClassDescription.readClass(TigerRefgClassDescription.java:122)
at com.sun.tdk.signaturetest.TigerRefgClassDescription.<init>(TigerRefgClassDescription.java:69)
at com.sun.tdk.signaturetest.TigerRefgClassDescrLoader.load(TigerRefgClassDescrLoader.java:29)
at com.sun.tdk.signaturetest.ClassCorrector.load(ClassCorrector.java:504)
at com.sun.tdk.signaturetest.ClassCorrector.fixMethods(ClassCorrector.java:197)
at com.sun.tdk.signaturetest.ClassCorrector.fixClass(ClassCorrector.java:53)
at com.sun.tdk.signaturetest.BaseClassDescrLoader.fixClass(BaseClassDescrLoader.java:82)
at com.sun.tdk.signaturetest.BaseClassDescrLoader.createMembers(BaseClassDescrLoader.java:77)
at com.sun.tdk.signaturetest.SignatureTest.verifyClass(SignatureTest.java:833)
at com.sun.tdk.signaturetest.SignatureTest.check(SignatureTest.java:664)
at com.sun.tdk.signaturetest.SignatureTest.run(SignatureTest.java:245)
at sun.reflect.GeneratedMethodAccessor132.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:585)
at com.sun.ts.tests.signaturetest.SigTestDriver.runSignatureTest(SigTestDriver.java:134)
at com.sun.ts.tests.signaturetest.SignatureTestDriver.executeSigTest(SignatureTestDriver.java:221)
at com.sun.ts.tests.signaturetest.SigTestEE.signatureTest(SigTestEE.java:193)
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:585)
at com.sun.ts.lib.harness.EETest.run(EETest.java:495)
at com.sun.ts.lib.harness.ServiceEETest.run(ServiceEETest.java:112)
at com.sun.ts.tests.common.vehicle.ejb.EJBVehicle.runTest(EJBVehicle.java:70)
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:585)
at com.sun.enterprise.security.application.EJBSecurityManager.runMethod(EJBSecurityManager.java:1050)
at com.sun.enterprise.security.SecurityUtil.invoke(SecurityUtil.java:165)
at com.sun.ejb.containers.BaseContainer.invokeTargetBeanMethod(BaseContainer.java:2766)
at com.sun.ejb.containers.BaseContainer.intercept(BaseContainer.java:3847)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:190)
at com.sun.ejb.containers.EJBObjectInvocationHandler.invoke(EJBObjectInvocationHandler.java:107)
at $Proxy43.runTest(Unknown Source)
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:585)
at com.sun.corba.ee.impl.presentation.rmi.ReflectiveTie._invoke(ReflectiveTie.java:121)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatchToServant(CorbaServerRequestDispatcherImpl.java:650)
at com.sun.corba.ee.impl.protocol.CorbaServerRequestDispatcherImpl.dispatch(CorbaServerRequestDispatcherImpl.java:193)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequestRequest(CorbaMessageMediatorImpl.java:1705)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:1565)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleInput(CorbaMessageMediatorImpl.java:947)
at com.sun.corba.ee.impl.protocol.giopmsgheaders.RequestMessage_1_2.callback(RequestMessage_1_2.java:178)
at com.sun.corba.ee.impl.protocol.CorbaMessageMediatorImpl.handleRequest(CorbaMessageMediatorImpl.java:717)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.dispatch(SocketOrChannelConnectionImpl.java:473)
at com.sun.corba.ee.impl.transport.SocketOrChannelConnectionImpl.doWork(SocketOrChannelConnectionImpl.java:1270)
at com.sun.corba.ee.impl.orbutil.threadpool.ThreadPoolImpl$WorkerThread.run(ThreadPoolImpl.java:479)