Bugs item #901152, was opened at 2004-02-20 14:57 Message generated for change (Comment added) made by ejort 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: Postponed Priority: 5 Submitted By: Sergey Marchuk (smarchuk) >Assigned to: Bill Burke (patriot1burke) 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: Adrian Brock (ejort) Date: 2004-03-06 13:46 Message: Logged In: YES user_id=9459 Some optional parts of jboss require jdk1.4, e.g. jdbc3 You are not forced to use the PooledInvoker. Bill, do you plan to support jdk1.3 with the pooled invoker? Regards, Adrian ---------------------------------------------------------------------- Comment By: Sergey Marchuk (smarchuk) Date: 2004-02-23 11: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 15: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 ------------------------------------------------------- This SF.Net email is sponsored by: IBM Linux Tutorials Free Linux tutorial presented by Daniel Robbins, President and CEO of GenToo technologies. Learn everything from fundamentals to system administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click _______________________________________________ JBoss-Development mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-development