Task #1282 (new)
Opened 15 years ago
getSession() during _closeSession() can lead to strange errors
Reported by: | jamoore | Owned by: | jamoore |
---|---|---|---|
Priority: | minor | Milestone: | Unscheduled |
Component: | General | Version: | 3.0-M1 |
Keywords: | n.a. | Cc: | carlos@… |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
090326T22:24:54 DEBUG root:720:logout: killing connection "S:60c7c47e-3039-4538-82e2-038d73d43f95#jcb" 090326T22:24:54 DEBUG root:720:CONN:close rollup-admin:720:60c7c47e-3039-4538-82e2-038d73d43f95 090326T22:24:55 WARNING blitz_gateway:720:Traceback (most recent call last): File "/home/weblitz/JcbProduction/blue/weblitz/weblitz_gateway/blitz_gateway/__init__.py", line 227, in _closeSession s = self.c.sf.getSessionService().getSession(self._sessionUuid) File "/home/weblitz/JcbProduction/red/lib/python/omero_API_ice.py", line 1618, in getSession return _M_omero.api.ISession._op_getSession.invoke(self, ((sessionUuid, ), _ctx)) UnknownException: exception ::Ice::UnknownException { unknown = org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ome.model.meta.Experimenter.groupExperimenterMapCountPerOwne r, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.c
received by weblitz when calling ISessionPrx.getSession(uuid). There's possibly a race condition on some shared session instance.
Full server exception:
2009-03-26 18:24:54,117 ERROR [rg.hibernate.LazyInitializationException] (l.Server-4) failed to lazily initialize a collection of role: ome.model.meta.Experimenter.groupExperimenterMapCountPerOwner, no session or session was closed org.hibernate.LazyInitializationException: failed to lazily initialize a collection of role: ome.model.meta.Experimenter.groupExperimenterMapCountPerOwner, no session or session was closed at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationException(AbstractPersistentCollection.java:358) at org.hibernate.collection.AbstractPersistentCollection.throwLazyInitializationExceptionIfNotConnected(AbstractPersistentCollection.java:350) at org.hibernate.collection.AbstractPersistentCollection.initialize(AbstractPersistentCollection.java:343) at org.hibernate.collection.AbstractPersistentCollection.read(AbstractPersistentCollection.java:86) at org.hibernate.collection.PersistentMap.entrySet(PersistentMap.java:242) at ome.util.ContextFilter.filter(ContextFilter.java:135) at ome.util.ModelMapper.filter(ModelMapper.java:82) at ome.model.meta.Experimenter.acceptFilter(Experimenter.java:1087) at omero.util.IceMapper.filter(IceMapper.java:880) at ome.model.internal.Details.acceptFilter(Details.java:365) at omero.util.IceMapper.filter(IceMapper.java:880) at ome.model.meta.Session.acceptFilter(Session.java:950) at omero.util.IceMapper.filter(IceMapper.java:880) at ome.util.ModelMapper.map(ModelMapper.java:50) at omero.util.IceMapper.handleOutput(IceMapper.java:1009) at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:196) at ome.services.throttling.Callback.run(Callback.java:55) at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:37) at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:114) at ome.services.blitz.impl.SessionI.getSession_async(SessionI.java:109) at omero.api._ISessionTie.getSession_async(_ISessionTie.java:134) at omero.api._ISessionDisp.___getSession(_ISessionDisp.java:234) at omero.api._ISessionDisp.__dispatch(_ISessionDisp.java:573) at IceInternal.Incoming.invoke(Incoming.java:166) at Ice.ConnectionI.invokeAll(ConnectionI.java:2045) at Ice.ConnectionI.message(ConnectionI.java:977) at IceInternal.ThreadPool.run(ThreadPool.java:575) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:951)
Note: See
TracTickets for help on using
tickets.
You may also have a look at Agilo extensions to the ticket.