Bugs item #901152, was opened at 2004-02-20 15:57 Message generated for change (Settings changed) made by smarchuk You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=901152&group_id=22866
Category: JBossServer Group: v3.2 Status: Open >Resolution: None Priority: 5 Submitted By: Sergey Marchuk (smarchuk) Assigned to: Nobody/Anonymous (nobody) Summary: JBoss 3.2.3 is not compliant with jdk1.3 Initial Comment: According to JBoss docs (http://jboss.org/downloads): JBoss 3.2 and earlier will run on 1.3+ JVMs. JBoss 4.0 requires 1.4+ JVMs Unfortunately it seems JBoss 3.2.3 is not compliant with JDK1.3. On JDK1.3.1 server successfully starts, but client fails to connect with the following stacktrace printed on server-side: java.lang.NoSuchMethodException at java.lang.Class.getMethod0(Native Method) at java.lang.Class.getDeclaredMethod (Class.java:1151) at org.jboss.invocation.pooled.interfaces.OptimizedObjectIn putStream.<clinit>(OptimizedObjectInputStream.java:46) at org.jboss.invocation.pooled.server.ServerThread.dorun (ServerThread.java:237) at org.jboss.invocation.pooled.server.ServerThread.run (ServerThread.java:132) followed by exception: java.lang.NullPointerException at org.jboss.invocation.pooled.interfaces.OptimizedObjectIn putStream.lookup(OptimizedObjectInputStream.java:129) at org.jboss.invocation.pooled.interfaces.OptimizedObjectIn putStream.readClassDescriptor (OptimizedObjectInputStream.java:15 at java.io.ObjectInputStream.inputClassDescriptor (ObjectInputStream.java:901) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:361) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:345) at java.io.ObjectInputStream.inputClassFields (ObjectInputStream.java:2258) at java.io.ObjectInputStream.defaultReadObject (ObjectInputStream.java:514) at java.io.ObjectInputStream.inputObject (ObjectInputStream.java:1407) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:381) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:231) at java.util.HashMap.readObject (HashMap.java:835) at java.lang.reflect.Method.invoke(Native Method) at java.io.ObjectInputStream.invokeObjectReader (ObjectInputStream.java:2209) at java.io.ObjectInputStream.inputObject (ObjectInputStream.java:1406) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:381) at java.io.ObjectInputStream.inputClassFields (ObjectInputStream.java:2258) at java.io.ObjectInputStream.defaultReadObject (ObjectInputStream.java:514) at java.io.ObjectInputStream.inputObject (ObjectInputStream.java:1407) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:381) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:231) at org.jboss.proxy.ClientContainer.readExternal (ClientContainer.java:112) at java.io.ObjectInputStream.inputObject (ObjectInputStream.java:1207) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:381) at java.io.ObjectInputStream.inputClassFields (ObjectInputStream.java:2258) at java.io.ObjectInputStream.defaultReadObject (ObjectInputStream.java:514) at java.io.ObjectInputStream.inputObject (ObjectInputStream.java:1407) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:381) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:231) at java.util.HashMap.readObject (HashMap.java:835) at java.lang.reflect.Method.invoke(Native Method) at java.io.ObjectInputStream.invokeObjectReader (ObjectInputStream.java:2209) at java.io.ObjectInputStream.inputObject (ObjectInputStream.java:1406) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:381) at java.io.ObjectInputStream.inputClassFields (ObjectInputStream.java:2258) at java.io.ObjectInputStream.defaultReadObject (ObjectInputStream.java:514) at java.io.ObjectInputStream.inputObject (ObjectInputStream.java:1407) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:381) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:231) at org.jboss.proxy.ClientContainer.readExternal (ClientContainer.java:112) at java.io.ObjectInputStream.inputObject (ObjectInputStream.java:1207) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:381) at java.io.ObjectInputStream.inputClassFields (ObjectInputStream.java:2258) at java.io.ObjectInputStream.defaultReadObject (ObjectInputStream.java:514) at java.io.ObjectInputStream.inputObject (ObjectInputStream.java:1407) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:381) at java.io.ObjectInputStream.readObject (ObjectInputStream.java:231) at org.jboss.invocation.pooled.interfaces.PooledInvokerProxy .invoke(PooledInvokerProxy.java:335) at org.jboss.proxy.ejb.handle.StatefulHandleImpl.getEJBObje ct(StatefulHandleImpl.java:152) at com.kyriba.technical.server.internal.session.SessionRegist ryBean.restoreSessionManager (SessionRegistryBean.java:331) at com.kyriba.technical.server.internal.session.SessionRegist ryBean.ejbLoad(SessionRegistryBean.java:389) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.ejb.plugins.BMPPersistenceManager.loadEntity (BMPPersistenceManager.java:412) at org.jboss.resource.connectionmanager.CachedConnection Interceptor.loadEntity (CachedConnectionInterceptor.java:352) at org.jboss.ejb.plugins.EntitySynchronizationInterceptor.inv oke(EntitySynchronizationInterceptor.java:239) at org.jboss.resource.connectionmanager.CachedConnection Interceptor.invoke (CachedConnectionInterceptor.java:185) at org.jboss.ejb.plugins.EntityReentranceInterceptor.invoke (EntityReentranceInterceptor.java:71) at org.jboss.ejb.plugins.EntityInstanceInterceptor.invoke (EntityInstanceInterceptor.java:163) at org.jboss.ejb.plugins.EntityLockInterceptor.invoke (EntityLockInterceptor.java:89) at org.jboss.ejb.plugins.EntityCreationInterceptor.invoke (EntityCreationInterceptor.java:54) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext (AbstractTxInterceptor.java:84) at org.jboss.ejb.plugins.TxInterceptorCMT.runWithTransacti ons(TxInterceptorCMT.java:267) at org.jboss.ejb.plugins.TxInterceptorCMT.invoke (TxInterceptorCMT.java:128) at org.jboss.ejb.plugins.SecurityInterceptor.invoke (SecurityInterceptor.java:118) at org.jboss.ejb.plugins.LogInterceptor.invoke (LogInterceptor.java:191) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invok e(ProxyFactoryFinderInterceptor.java:122) at org.jboss.ejb.EntityContainer.internalInvoke (EntityContainer.java:489) at org.jboss.ejb.Container.invoke (Container.java:700) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke (ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke (MBeanServerImpl.java:546) at org.jboss.invocation.local.LocalInvoker.invoke (LocalInvoker.java:101) at org.jboss.invocation.InvokerInterceptor.invoke (InvokerInterceptor.java:90) at org.jboss.proxy.TransactionInterceptor.invoke (TransactionInterceptor.java:46) at org.jboss.proxy.SecurityInterceptor.invoke (SecurityInterceptor.java:45) at org.jboss.proxy.ejb.EntityInterceptor.invoke (EntityInterceptor.java:97) at org.jboss.proxy.ClientContainer.invoke (ClientContainer.java:85) at $Proxy34.attachToSession(Unknown Source) at com.kyriba.technical.server.internal.session.SessionConne ctor.openSessionLocal(SessionConnector.java:103) at com.kyriba.technical.server.internal.session.SessionConne ctorBean.openSessionLocal (SessionConnectorBean.java:139) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.ejb.StatelessSessionContainer$ContainerInterce ptor.invoke(StatelessSessionContainer.java:683) at org.jboss.resource.connectionmanager.CachedConnection Interceptor.invoke (CachedConnectionInterceptor.java:185) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext (AbstractTxInterceptor.java:84) at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNe xt(AbstractTxInterceptorBMT.java:144) at org.jboss.ejb.plugins.TxInterceptorBMT.invoke (TxInterceptorBMT.java:62) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor .invoke(StatelessSessionInstanceInterceptor.java:72) at org.jboss.ejb.plugins.SecurityInterceptor.invoke (SecurityInterceptor.java:118) at org.jboss.ejb.plugins.LogInterceptor.invoke (LogInterceptor.java:191) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invok e(ProxyFactoryFinderInterceptor.java:122) at org.jboss.ejb.StatelessSessionContainer.internalInvoke (StatelessSessionContainer.java:331) at org.jboss.ejb.Container.invoke (Container.java:700) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke (ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke (MBeanServerImpl.java:546) at org.jboss.invocation.local.LocalInvoker.invoke (LocalInvoker.java:101) at org.jboss.invocation.InvokerInterceptor.invoke (InvokerInterceptor.java:90) at org.jboss.proxy.TransactionInterceptor.invoke (TransactionInterceptor.java:46) at org.jboss.proxy.SecurityInterceptor.invoke (SecurityInterceptor.java:45) at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke (StatelessSessionInterceptor.java:100) at org.jboss.proxy.ClientContainer.invoke (ClientContainer.java:85) at $Proxy40.openSessionLocal(Unknown Source) at com.kyriba.technical.server.internal.session.SessionConne ctor.openSessionRemote(SessionConnector.java:152) at com.kyriba.technical.server.internal.session.SessionConne ctor.openSession(SessionConnector.java:131) at com.kyriba.technical.server.internal.session.SessionConne ctorBean.openSession(SessionConnectorBean.java:120) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.ejb.StatelessSessionContainer$ContainerInterce ptor.invoke(StatelessSessionContainer.java:683) at org.jboss.resource.connectionmanager.CachedConnection Interceptor.invoke (CachedConnectionInterceptor.java:185) at org.jboss.ejb.plugins.AbstractTxInterceptor.invokeNext (AbstractTxInterceptor.java:84) at org.jboss.ejb.plugins.AbstractTxInterceptorBMT.invokeNe xt(AbstractTxInterceptorBMT.java:144) at org.jboss.ejb.plugins.TxInterceptorBMT.invoke (TxInterceptorBMT.java:62) at org.jboss.ejb.plugins.StatelessSessionInstanceInterceptor .invoke(StatelessSessionInstanceInterceptor.java:72) at org.jboss.ejb.plugins.SecurityInterceptor.invoke (SecurityInterceptor.java:118) at org.jboss.ejb.plugins.LogInterceptor.invoke (LogInterceptor.java:191) at org.jboss.ejb.plugins.ProxyFactoryFinderInterceptor.invok e(ProxyFactoryFinderInterceptor.java:122) at org.jboss.ejb.StatelessSessionContainer.internalInvoke (StatelessSessionContainer.java:331) at org.jboss.ejb.Container.invoke (Container.java:700) at java.lang.reflect.Method.invoke(Native Method) at org.jboss.mx.capability.ReflectedMBeanDispatcher.invoke (ReflectedMBeanDispatcher.java:284) at org.jboss.mx.server.MBeanServerImpl.invoke (MBeanServerImpl.java:546) at org.jboss.invocation.local.LocalInvoker.invoke (LocalInvoker.java:101) at org.jboss.invocation.InvokerInterceptor.invoke (InvokerInterceptor.java:90) at org.jboss.proxy.TransactionInterceptor.invoke (TransactionInterceptor.java:46) at org.jboss.proxy.SecurityInterceptor.invoke (SecurityInterceptor.java:45) at org.jboss.proxy.ejb.StatelessSessionInterceptor.invoke (StatelessSessionInterceptor.java:100) at org.jboss.proxy.ClientContainer.invoke (ClientContainer.java:85) at $Proxy40.openSession(Unknown Source) at com.kyriba.technical.shared.internal.session.RemoteSessi on.<init>(RemoteSession.java:145) at com.kyriba.technical.shared.internal.session.RemoteSessi on.init(RemoteSession.java:119) at com.kyriba.technical.shared.internal.session.RemoteSessi on.open(RemoteSession.java:83) at com.kyriba.technical.server.internal.web.WebManagerImpl .connect(WebManagerImpl.java:174) at com.kyriba.technical.server.internal.web.Helper.createSe ssion(Helper.java:71) at com.kyriba.technical.server.internal.web.filter.MainFilter.d oFilter(MainFilter.java:102) at org.apache.catalina.core.ApplicationFilterChain.internalDo Filter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193) at com.kyriba.technical.server.internal.web.FunctionContext Filter.doFilter(FunctionContextFilter.java:156) at org.apache.catalina.core.ApplicationFilterChain.internalDo Filter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193) at com.kyriba.technical.server.internal.web.EnvFilter.doFilter (EnvFilter.java:97) at org.apache.catalina.core.ApplicationFilterChain.internalDo Filter(ApplicationFilterChain.java:213) at org.apache.catalina.core.ApplicationFilterChain.doFilter (ApplicationFilterChain.java:193) at org.apache.catalina.core.StandardWrapperValve.invoke (StandardWrapperValve.java:256) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.catalina.core.StandardContextValve.invoke (StandardContextValve.java:191) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:643) at org.jboss.web.tomcat.security.JBossSecurityMgrRealm.inv oke(JBossSecurityMgrRealm.java:220) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.authenticator.AuthenticatorBase.invo ke(AuthenticatorBase.java:553) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.CertificatesValve.invoke (CertificatesValve.java:246) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:641) at org.jboss.web.tomcat.tc4.statistics.ContainerStatsValve.i nvoke(ContainerStatsValve.java:76) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.catalina.core.StandardContext.invoke (StandardContext.java:2417) at org.apache.catalina.core.StandardHostValve.invoke (StandardHostValve.java:180) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.valves.ErrorDispatcherValve.invoke (ErrorDispatcherValve.java:171) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.ErrorReportValve.invoke (ErrorReportValve.java:172) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:641) at org.jboss.web.tomcat.security.SecurityAssociationValve.i nvoke(SecurityAssociationValve.java:65) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.valves.AccessLogValve.invoke (AccessLogValve.java:577) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:641) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.catalina.core.StandardEngineValve.invoke (StandardEngineValve.java:174) at org.apache.catalina.core.StandardPipeline$StandardPipeli neValveContext.invokeNext(StandardPipeline.java:643) at org.apache.catalina.core.StandardPipeline.invoke (StandardPipeline.java:480) at org.apache.catalina.core.ContainerBase.invoke (ContainerBase.java:995) at org.apache.coyote.tomcat4.CoyoteAdapter.service (CoyoteAdapter.java:197) at org.apache.coyote.http11.Http11Processor.process (Http11Processor.java:781) at org.apache.coyote.http11.Http11Protocol$Http11Connec tionHandler.processConnection(Http11Protocol.java:549) at org.apache.tomcat.util.net.TcpWorkerThread.runIt (PoolTcpEndpoint.java:605) at org.apache.tomcat.util.threads.ThreadPool$ControlRunna ble.run(ThreadPool.java:677) The method required by JBoss was introduced in JDK1.4 only. So on JDK1.4.2 everything works correctly. Problem is specific to PooledInvoker only. No problems were identified in case of JRMP invoker usage with JDK1.3.1. OS: Windows2000 ---------------------------------------------------------------------- Comment By: Sergey Marchuk (smarchuk) Date: 2004-02-23 12:13 Message: Logged In: YES user_id=980176 This can not be recompilation issue. Let's consider some places in source code of org.jboss.invocation.pooled.interfaces.OptimizedObjectInputStr eam 1. NoSuchMethodException is thrown from here: static { useClassCache(true); try { lookupStreamClass = ObjectStreamClass.class.getDeclaredMethod("lookup", new Class[]{Class.class, boolean.class}); lookupStreamClass.setAccessible(true); } catch (Exception ex) { ex.printStackTrace(); } } Method ObjectStreamClass.lookup(Class cl, boolean all) was added in jdk1.4 only and does not exist in jdk1.3. 2. First exception drives to NullPointerException thrown from the following code: protected static ObjectStreamClass lookup(Class clazz) { Object[] args = {clazz, Boolean.TRUE}; try { return (ObjectStreamClass) lookupStreamClass.invoke (null, args); } catch (Exception ex) { ex.printStackTrace(); } return null; } Again, non-existing method in jdk1.3 is being called. So, it definitely requires jdk1.4 to run. ---------------------------------------------------------------------- Comment By: Heiko W.Rupp (pilhuhn) Date: 2004-02-20 16:59 Message: Logged In: YES user_id=217112 The downloadable version is compiled with jdk 1.4. When you grab the server source and recompile with jdk1.3, then you can also run it on jdk 1.3. ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=376685&aid=901152&group_id=22866 ------------------------------------------------------- SF.Net is sponsored by: Speed Start Your Linux Apps Now. Build and deploy apps & Web services for Linux with a free DVD software kit from IBM. Click Now! http://ads.osdn.com/?ad_id=1356&alloc_id=3438&op=click _______________________________________________ JBoss-Development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development