Export to GitHub

littleware - issue #47

Server might recycle active sessions


Posted on Mar 7, 2011 by Quick Wombat

I get the following stack trace upon waking the laptop in the morning. I think the server might time-out sessions. Should migrate server to component-style interface rather than current object based.

INFO: RemoteException retry count 1 java.rmi.RemoteException: Service is null?; nested exception is: java.lang.NullPointerException at littleware.security.auth.client.SessionHelperProxy$RemoteRetryInvocationHandler.invoke(SessionHelperProxy.jav a:224) at $Proxy22.stop(Unknown Source) at littleware.security.auth.client.SessionHelperProxy.stop(SessionHelperProxy.java:143) at littleware.bootstrap.client.AssetClientModule$Activator.stop(AssetClientModule.java:122) at org.apache.felix.framework.util.SecureAction.stopActivator(SecureAction.java:683) at org.apache.felix.framework.Felix$SystemBundleActivator.run(Felix.java:4164) at java.lang.Thread.run(Thread.java:619) Caused by: java.lang.NullPointerException 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 littleware.security.auth.client.SessionHelperProxy$RemoteRetryInvocationHandler.invoke(SessionHelperProxy.jav a:217) ... 6 more

Comment #1

Posted on Mar 10, 2011 by Quick Wombat

Another stack trace:

Mar 10, 2011 11:30:53 AM littleware.apps.swingclient.JSimpleAssetToolbar$9 run WARNING: Failed to resolve root asset path for /byid:63c6e644-2e12-4c95-8de9-2dcee27b8e96 java.rmi.RemoteException: Service is null?; nested exception is: java.lang.NullPointerException at littleware.security.auth.client.SessionHelperProxy$RemoteRetryInvocationHandler.invoke(SessionHelperProxy.jav a:224) at $Proxy3.getAsset(Unknown Source) at littleware.asset.SimpleAssetPathByRootId.getRoot(SimpleAssetPathByRootId.java:45) at littleware.asset.SimpleAssetPathFactory.toRootedPath(SimpleAssetPathFactory.java:205) at littleware.apps.swingclient.JSimpleAssetToolbar$9.run(JSimpleAssetToolbar.java:315) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Caused by: java.lang.NullPointerException at sun.reflect.GeneratedMethodAccessor14.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at littleware.security.auth.client.SessionHelperProxy$RemoteRetryInvocationHandler.invoke(SessionHelperProxy.jav a:217) ... 12 more Mar 10, 2011 11:30:53 AM littleware.base.RemoteExceptionHandler handle INFO: RemoteException retry count 1 java.rmi.NoSuchObjectException: no such object in table at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142) at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178) at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132) at $Proxy21.getBucket(Unknown Source) at littleware.apps.filebucket.client.SimpleBucketService.getBucket(SimpleBucketService.java:51) 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 littleware.security.auth.client.SessionHelperProxy$RemoteRetryInvocationHandler.invoke(SessionHelperProxy.jav a:217) at $Proxy22.getBucket(Unknown Source) at littleware.apps.image.client.SimpleImageManager.loadImage(SimpleImageManager.java:111) at littleware.apps.image.client.SimpleThumbManager.loadThumb(SimpleThumbManager.java:147) at littleware.apps.swingclient.JAssetLinkRenderer.configureLabel(JAssetLinkRenderer.java:285) at littleware.apps.swingclient.JAssetLink.setLink(JAssetLink.java:276) at littleware.apps.swingclient.JGenericAssetView.updateAssetUI(JGenericAssetView.java:425) at littleware.apps.swingclient.JGenericAssetView$2$1.run(JGenericAssetView.java:73) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEvent(EventQueue.java:597) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:269) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:184) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:174) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:169) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:161) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122) Mar 10, 2011 11:30:56 AM littleware.apps.swingclient.JAssetLinkRenderer configureLabel WARNING: Failed to load thumbnail for asset 63c6e644-2e12-4c95-8de9-2dcee27b8e96

Comment #2

Posted on Apr 7, 2011 by Quick Wombat

Another stack trace - this one from webapp:

1) Error in custom provider, littleware.base.AssertionFailedException: Failed to retrieve active session at littleware.asset.client.bootstrap.SimpleClientBuilder$SessionModule.configure(SimpleClientBuilder.java:164) while locating littleware.security.LittleUser for parameter 0 at littleware.web.beans.UserBean.injectMe(Unknown Source) while locating littleware.web.beans.UserBean

1 error at com.google.inject.internal.Errors.throwProvisionExceptionIfErrorsExist(Errors.java:451) at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:65) at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:944) at littleware.web.beans.GuiceBean.injectMembers(GuiceBean.java:69) at littleware.web.beans.InjectMeBean.setGuiceBean(InjectMeBean.java:38) ... 66 more Caused by: littleware.base.AssertionFailedException: Failed to retrieve active session at littleware.asset.client.bootstrap.SimpleClientBuilder$SessionModule$3.get(SimpleClientBuilder.java:174) at littleware.asset.client.bootstrap.SimpleClientBuilder$SessionModule$3.get(SimpleClientBuilder.java:164) at com.google.inject.internal.InternalFactoryToProviderAdapter.get(InternalFactoryToProviderAdapter.java:40) at com.google.inject.internal.SingleParameterInjector.inject(SingleParameterInjector.java:38) at com.google.inject.internal.SingleParameterInjector.getAll(SingleParameterInjector.java:62) at com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:83) at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:110) at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:75) at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:73) at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1024) at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:73) at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:60) ... 69 more Caused by: java.rmi.NoSuchObjectException: no such object in table at sun.rmi.transport.StreamRemoteCall.exceptionReceivedFromServer(StreamRemoteCall.java:255) at sun.rmi.transport.StreamRemoteCall.executeCall(StreamRemoteCall.java:233) at sun.rmi.server.UnicastRef.invoke(UnicastRef.java:142) at java.rmi.server.RemoteObjectInvocationHandler.invokeRemoteMethod(RemoteObjectInvocationHandler.java:178) at java.rmi.server.RemoteObjectInvocationHandler.invoke(RemoteObjectInvocationHandler.java:132) at $Proxy150.getSession(Unknown Source) at littleware.security.auth.client.SessionHelperProxy.getSession(SessionHelperProxy.java:120) at littleware.asset.client.bootstrap.SimpleClientBuilder$SessionModule$3.get(SimpleClientBuilder.java:170) ... 80 more |#]

Comment #3

Posted on Apr 8, 2011 by Quick Wombat

Comment deleted

Comment #4

Posted on Apr 8, 2011 by Quick Wombat

This issue was updated by revision 6ab057d7f41b.

Possible fix here - at least fixes part of the problem.

Comment #5

Posted on Apr 12, 2011 by Quick Wombat

Ok - doing better - new stack trace:

-1;|Failed to extend guest littleware session java.rmi.RemoteException: Service is null?; nested exception is: java.lang.NullPointerException at littleware.security.auth.client.internal.SessionHelperProxy$RemoteRetryInvocationHandler.invoke(SessionHelper Proxy.java:231) at $Proxy148.getAsset(Unknown Source) at littleware.web.servlet.LoginHandler$GuestManager.loadGuestBean(LoginHandler.java:171) at littleware.web.servlet.LoginHandler.sessionCreated(LoginHandler.java:207) at littleware.web.servlet.LoginHandler.sessionCreated(LoginHandler.java:216) at org.apache.catalina.session.StandardSession.tellNew(StandardSession.java:475) at org.apache.catalina.session.StandardSession.setId(StandardSession.java:407) at org.apache.catalina.session.ManagerBase.createSession(ManagerBase.java:765) at org.apache.catalina.session.StandardManager.createSession(StandardManager.java:311) at org.apache.catalina.connector.Request.doGetSession(Request.java:2899) at org.apache.catalina.connector.Request.getSession(Request.java:2561) at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:920) at org.apache.catalina.connector.RequestFacade.getSession(RequestFacade.java:931)

Status: Accepted

Labels:
Type-Defect Priority-High