Task #2557 (closed)
LDAP integration testing
Reported by: | cxallan | Owned by: | cxallan |
---|---|---|---|
Priority: | minor | Milestone: | OMERO-Beta4.2 |
Component: | General | Version: | n.a. |
Keywords: | n.a. | Cc: | jburel, jamoore |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | 2010-06-24 (12) |
Description
Beta 4.2 LDAP integration testing.
Change History (17)
comment:1 Changed 14 years ago by cxallan
- Status changed from new to assigned
comment:2 Changed 14 years ago by cxallan
- Cc jburel jmoore added
comment:3 Changed 14 years ago by cxallan
comment:4 Changed 14 years ago by jmoore
The previous stack trace is related to #1254. This call gets made twice; once read-only, once read-write. The read-only throws an exception, which needs to be caught.
comment:5 follow-up: ↓ 8 Changed 14 years ago by cxallan
When switching the default user mapping to:
... omero.ldap.user_mapping=omeName=givenName,firstName=sn,lastName=uid,email=cn ...
The following exceptions are thrown and the user is unable to login:
2010-07-01 21:46:50,436 INFO [ ome.services.blitz.util.CheckAllJobs] (l.Server-4) Received 0 job(s) 2010-07-01 21:47:20,188 INFO [ ome.services.blitz.impl.ServiceFactoryI] (l.Server-4) Keep alive: 410bbb7e-72aa-4b05-b001-67374e9c06d5 2010-07-01 21:47:44,014 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Executor.doWork -- ome.services.sessions.SessionManagerImpl.executeCheckPassword 2010-07-01 21:47:44,015 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Args: [null, ome.tools.spring.InternalServiceFactory@5dccb1ae] 2010-07-01 21:47:44,017 INFO [ ome.security.basic.EventHandler] (l.Server-4) Auth: user=0,group=0,event=null(Sessions),sess=6e6f7308-8285-4c5b-8f97-2cad930be572 2010-07-01 21:47:44,100 INFO [ org.perf4j.TimingLogger] (l.Server-4) start[1278017264015] time[85] tag[omero.call.exception] 2010-07-01 21:47:44,103 WARN [ ome.services.util.ServiceHandler] (l.Server-4) Unknown exception thrown. java.lang.IllegalStateException: Object unloaded:ome.model.meta.ExperimenterGroup:Id_0 at ome.model.meta.ExperimenterGroup.errorIfUnloaded(ExperimenterGroup.java:1063) at ome.model.meta.ExperimenterGroup.getDetails(ExperimenterGroup.java:894) at ome.security.basic.CurrentDetails.createDetails(CurrentDetails.java:375) at ome.security.basic.OmeroInterceptor.newTransientDetails(OmeroInterceptor.java:436) at ome.security.basic.OmeroInterceptor.onSave(OmeroInterceptor.java:157) at org.hibernate.event.def.AbstractSaveEventListener.substituteValuesIfNecessary(AbstractSaveEventListener.java:414) at org.hibernate.event.def.AbstractSaveEventListener.performSaveOrReplicate(AbstractSaveEventListener.java:293) at org.hibernate.event.def.AbstractSaveEventListener.performSave(AbstractSaveEventListener.java:204) at org.hibernate.event.def.AbstractSaveEventListener.saveWithGeneratedId(AbstractSaveEventListener.java:144) at org.hibernate.event.def.DefaultMergeEventListener.mergeTransientEntity(DefaultMergeEventListener.java:313) at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:282) at org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener.entityIsTransient(IdTransferringMergeEventListener.java:59) at ome.security.basic.MergeEventListener.entityIsTransient(MergeEventListener.java:135) at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:237) at ome.security.basic.MergeEventListener.onMerge(MergeEventListener.java:85) at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:84) at ome.security.basic.MergeEventListener.onMerge(MergeEventListener.java:75) at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:859) at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:843) at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:847) at ome.security.auth.SimpleRoleProvider.createGroup(SimpleRoleProvider.java:74) at ome.logic.LdapImpl.createUserFromLdap(LdapImpl.java:284) at ome.security.auth.LdapPasswordProvider.checkPassword(LdapPasswordProvider.java:85) at ome.security.auth.PasswordProviders.checkPassword(PasswordProviders.java:42) at ome.logic.AdminImpl.checkPassword(AdminImpl.java:1121) at ome.services.sessions.SessionManagerImpl$7.doWork(SessionManagerImpl.java:928) 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 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:409) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.security.basic.EventHandler.invoke(EventHandler.java:144) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy55.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRO(SessionManagerImpl.java:923) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:911) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971) 2010-07-01 21:47:44,106 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Excp: java.lang.IllegalStateException: Object unloaded:ome.model.meta.ExperimenterGroup:Id_0 2010-07-01 21:47:44,108 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Executor.doWork -- ome.services.sessions.SessionManagerImpl.executeCheckPassword 2010-07-01 21:47:44,108 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Args: [null, ome.tools.spring.InternalServiceFactory@7a29120] 2010-07-01 21:47:44,135 INFO [ ome.security.basic.EventHandler] (l.Server-4) Auth: user=0,group=0,event=8(Sessions),sess=6e6f7308-8285-4c5b-8f97-2cad930be572 2010-07-01 21:47:44,203 INFO [ ome.security.basic.CurrentDetails] (l.Server-4) Adding log:INSERT,class ome.model.meta.ExperimenterGroup,4 2010-07-01 21:47:44,205 INFO [ ome.security.basic.CurrentDetails] (l.Server-4) Adding log:INSERT,class ome.model.meta.Experimenter,2 2010-07-01 21:47:44,223 INFO [ ome.security.basic.CurrentDetails] (l.Server-4) Adding log:INSERT,class ome.model.meta.GroupExperimenterMap,3 2010-07-01 21:47:44,233 INFO [ ome.security.basic.CurrentDetails] (l.Server-4) Adding log:INSERT,class ome.model.meta.GroupExperimenterMap,4 2010-07-01 21:47:44,255 INFO [ org.perf4j.TimingLogger] (l.Server-4) start[1278017264108] time[147] tag[omero.call.success] 2010-07-01 21:47:44,255 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Rslt: true 2010-07-01 21:47:44,256 INFO [ome.services.sessions.state.SessionCache] (l.Server-5) Waiting for synchronization 2010-07-01 21:47:44,811 INFO [ome.services.sessions.state.SessionCache] (r_Worker-3) Synchronizing session cache. Count = 2 2010-07-01 21:47:44,813 INFO [ ome.services.util.ServiceHandler] (r_Worker-3) Executor.doWork -- ome.services.sessions.SessionManagerImpl.reload 2010-07-01 21:47:44,813 INFO [ ome.services.util.ServiceHandler] (r_Worker-3) Args: [null, ome.tools.spring.InternalServiceFactory@28098d94] 2010-07-01 21:47:44,815 INFO [ ome.security.basic.EventHandler] (r_Worker-3) Auth: user=0,group=0,event=null(Sessions),sess=6e6f7308-8285-4c5b-8f97-2cad930be572 2010-07-01 21:47:44,827 INFO [ org.perf4j.TimingLogger] (r_Worker-3) start[1278017264813] time[14] tag[omero.call.success] 2010-07-01 21:47:44,827 INFO [ ome.services.util.ServiceHandler] (r_Worker-3) Rslt: (ome.model.meta.Experimenter:Id_0, ome.model.meta.ExperimenterGroup:Id_0, [0, 1], ... 4 more) 2010-07-01 21:47:44,828 INFO [ ome.services.util.ServiceHandler] (r_Worker-3) Executor.doWork -- ome.services.sessions.SessionManagerImpl.reload 2010-07-01 21:47:44,828 INFO [ ome.services.util.ServiceHandler] (r_Worker-3) Args: [null, ome.tools.spring.InternalServiceFactory@24ebe538] 2010-07-01 21:47:44,829 INFO [ ome.security.basic.EventHandler] (r_Worker-3) Auth: user=0,group=0,event=null(Sessions),sess=6e6f7308-8285-4c5b-8f97-2cad930be572 2010-07-01 21:47:44,846 INFO [ org.perf4j.TimingLogger] (r_Worker-3) start[1278017264828] time[18] tag[omero.call.success] 2010-07-01 21:47:44,846 INFO [ ome.services.util.ServiceHandler] (r_Worker-3) Rslt: (ome.model.meta.Experimenter:Id_0, ome.model.meta.ExperimenterGroup:Id_0, [0, 1], ... 4 more) 2010-07-01 21:47:44,847 INFO [ome.services.sessions.state.SessionCache] (r_Worker-3) Synchronization took 36 ms. 2010-07-01 21:47:45,263 INFO [ ome.services.util.ServiceHandler] (l.Server-5) Executor.doWork -- ome.services.sessions.SessionManagerImpl.createSession 2010-07-01 21:47:45,263 INFO [ ome.services.util.ServiceHandler] (l.Server-5) Args: [null, ome.tools.spring.InternalServiceFactory@4e543c44] 2010-07-01 21:47:45,290 INFO [ ome.security.basic.EventHandler] (l.Server-5) Auth: user=0,group=0,event=9(Sessions),sess=6e6f7308-8285-4c5b-8f97-2cad930be572 2010-07-01 21:47:45,294 WARN [ome.services.sessions.SessionManagerImpl] (l.Server-5) Exception while running executeDefaultGroup ome.conditions.ApiUsageException: No such experimenter: Jean-Marie at ome.logic.AdminImpl.userProxy(AdminImpl.java:181) at ome.services.sessions.SessionManagerImpl._getDefaultGroup(SessionManagerImpl.java:1192) at ome.services.sessions.SessionManagerImpl.checkPrincipalNameAndDefaultGroup(SessionManagerImpl.java:733) at ome.services.sessions.SessionManagerImpl.access$000(SessionManagerImpl.java:77) at ome.services.sessions.SessionManagerImpl$2.doWork(SessionManagerImpl.java:298) 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 org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:409) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.security.basic.EventHandler.invoke(EventHandler.java:144) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy55.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.createSession(SessionManagerImpl.java:293) at ome.services.sessions.SessionManagerImpl.createWithAgent(SessionManagerImpl.java:244) at ome.services.blitz.fire.SessionManagerI.create(SessionManagerI.java:173) at Glacier2._SessionManagerDisp.___create(_SessionManagerDisp.java:92) at Glacier2._SessionManagerDisp.__dispatch(_SessionManagerDisp.java:125) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971) 2010-07-01 21:47:45,297 INFO [ org.perf4j.TimingLogger] (l.Server-5) start[1278017265263] time[34] tag[omero.call.exception] 2010-07-01 21:47:45,297 INFO [ ome.services.util.ServiceHandler] (l.Server-5) Excp: ome.conditions.ApiUsageException: Can't find default group for Jean-Marie
comment:6 Changed 14 years ago by cxallan
With the above configuration, upon second login attempt the following exceptions are thrown:
2010-07-01 21:51:28,236 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Executor.doWork -- ome.services.sessions.SessionManagerImpl.executeCheckPassword 2010-07-01 21:51:28,236 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Args: [null, ome.tools.spring.InternalServiceFactory@16562d4b] 2010-07-01 21:51:28,260 INFO [ ome.security.basic.EventHandler] (l.Server-4) Auth: user=0,group=0,event=10(Sessions),sess=6e6f7308-8285-4c5b-8f97-2cad930be572 2010-07-01 21:51:28,288 ERROR [.event.def.AbstractFlushingEventListener] (l.Server-4) Could not synchronize database state with session org.hibernate.exception.ConstraintViolationException: could not insert: [ome.model.meta.Experimenter] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2438) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2858) at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:260) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:179) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206) at ome.security.auth.SimpleRoleProvider.createExperimenter(SimpleRoleProvider.java:105) at ome.logic.LdapImpl.createUserFromLdap(LdapImpl.java:303) at ome.security.auth.LdapPasswordProvider.checkPassword(LdapPasswordProvider.java:85) at ome.security.auth.PasswordProviders.checkPassword(PasswordProviders.java:42) at ome.logic.AdminImpl.checkPassword(AdminImpl.java:1121) at ome.services.sessions.SessionManagerImpl$8.doWork(SessionManagerImpl.java:941) at sun.reflect.GeneratedMethodAccessor177.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:409) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.security.basic.EventHandler.invoke(EventHandler.java:144) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy55.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRW(SessionManagerImpl.java:936) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:916) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971) Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "experimenter_omename_key" at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1608) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1343) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:194) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:304) at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:46) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2418) ... 47 more 2010-07-01 21:51:28,290 INFO [ org.perf4j.TimingLogger] (l.Server-4) start[1278017488236] time[54] tag[omero.call.exception] 2010-07-01 21:51:28,291 WARN [ ome.services.util.ServiceHandler] (l.Server-4) DataIntegrityViolationException thrown. org.springframework.dao.DataIntegrityViolationException: could not insert: [ome.model.meta.Experimenter]; SQL [insert into experimenter (external_id, permissions, email, firstName, institution, lastName, middleName, omeName, version, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; constraint [experimenter_omename_key]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [ome.model.meta.Experimenter] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:637) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy55.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRW(SessionManagerImpl.java:936) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:916) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971) Caused by: org.hibernate.exception.ConstraintViolationException: could not insert: [ome.model.meta.Experimenter] at org.hibernate.exception.SQLStateConverter.convert(SQLStateConverter.java:96) at org.hibernate.exception.JDBCExceptionHelper.convert(JDBCExceptionHelper.java:66) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2438) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2858) at org.hibernate.action.EntityInsertAction.execute(EntityInsertAction.java:79) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:268) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:260) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:179) at org.hibernate.event.def.AbstractFlushingEventListener.performExecutions(AbstractFlushingEventListener.java:321) at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:51) at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1206) at ome.security.auth.SimpleRoleProvider.createExperimenter(SimpleRoleProvider.java:105) at ome.logic.LdapImpl.createUserFromLdap(LdapImpl.java:303) at ome.security.auth.LdapPasswordProvider.checkPassword(LdapPasswordProvider.java:85) at ome.security.auth.PasswordProviders.checkPassword(PasswordProviders.java:42) at ome.logic.AdminImpl.checkPassword(AdminImpl.java:1121) at ome.services.sessions.SessionManagerImpl$8.doWork(SessionManagerImpl.java:941) at sun.reflect.GeneratedMethodAccessor177.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:409) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.security.basic.EventHandler.invoke(EventHandler.java:144) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) ... 22 more Caused by: org.postgresql.util.PSQLException: ERROR: duplicate key value violates unique constraint "experimenter_omename_key" at org.postgresql.core.v3.QueryExecutorImpl.receiveErrorResponse(QueryExecutorImpl.java:1608) at org.postgresql.core.v3.QueryExecutorImpl.processResults(QueryExecutorImpl.java:1343) at org.postgresql.core.v3.QueryExecutorImpl.execute(QueryExecutorImpl.java:194) at org.postgresql.jdbc2.AbstractJdbc2Statement.execute(AbstractJdbc2Statement.java:451) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeWithFlags(AbstractJdbc2Statement.java:350) at org.postgresql.jdbc2.AbstractJdbc2Statement.executeUpdate(AbstractJdbc2Statement.java:304) at org.hibernate.jdbc.NonBatchingBatcher.addToBatch(NonBatchingBatcher.java:46) at org.hibernate.persister.entity.AbstractEntityPersister.insert(AbstractEntityPersister.java:2418) ... 47 more 2010-07-01 21:51:28,291 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Excp: org.springframework.dao.DataIntegrityViolationException: could not insert: [ome.model.meta.Experimenter]; SQL [insert into experimenter (external_id, permissions, email, firstName, institution, lastName, middleName, omeName, version, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; constraint [experimenter_omename_key]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [ome.model.meta.Experimenter] 2010-07-01 21:51:28,292 ERROR [services.blitz.fire.PermissionsVerifierI] (l.Server-4) Exception thrown while checking password for:Jean-Marie ome.conditions.ValidationException: could not insert: [ome.model.meta.Experimenter]; SQL [insert into experimenter (external_id, permissions, email, firstName, institution, lastName, middleName, omeName, version, id) values (?, ?, ?, ?, ?, ?, ?, ?, ?, ?)]; constraint [experimenter_omename_key]; nested exception is org.hibernate.exception.ConstraintViolationException: could not insert: [ome.model.meta.Experimenter] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:637) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy55.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRW(SessionManagerImpl.java:936) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:916) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)
comment:7 Changed 14 years ago by cxallan
A single user filter such as:
... omero.ldap.user_filter=(cn=jburel) ...
Does not allow users that match to login.
comment:8 in reply to: ↑ 5 Changed 14 years ago by jmoore
Replying to cxallan:
When switching the default user mapping to:
... omero.ldap.user_mapping=omeName=givenName,firstName=sn,lastName=uid,email=cn ...The following exceptions are thrown and the user is unable to login:
2010-07-01 21:47:45,294 WARN [ome.services.sessions.SessionManagerImpl?] (l.Server-5) Exception while running executeDefaultGroup
ome.conditions.ApiUsageException?: No such experimenter: Jean-Marie
...
2010-07-01 21:47:45,297 INFO [ ome.services.util.ServiceHandler?] (l.Server-5) Excp: ome.conditions.ApiUsageException?: Can't find default group for Jean-Marie
}}}
From mage's db:
OMERO4.2__0=# select * from experimenter order by id desc; id | permissions | email | firstname | institution | lastname | middlename | omename | version | external_id ----+-------------+------------------------+-------------+-------------+----------+------------+------------+---------+------------- 53 | -103 | j.burel@dundee.ac.uk | Jean-marie | | Burel | | jburel | 0 | 52 | -103 | c.x.allan@dundee.ac.uk | Christopher | | Allan | | cxallan | 0 | 2 | -103 | jburel | Burel | | jburel | | Jean-marie | 0 | 1 | 0 | | Guest | | Account | | guest | 0 | 0 | 0 | | root | | root | | root | 0 | (5 rows)
Note the capitalization.
comment:9 Changed 14 years ago by jmoore
comment:10 Changed 14 years ago by jmoore
comment:11 Changed 14 years ago by jmoore
comment:12 Changed 14 years ago by jmoore
comment:13 Changed 14 years ago by cxallan
After r7433, on successful password check the experimenter creation fails:
2010-07-02 10:46:38,285 INFO [ ome.services.util.ServiceHandler] (l.Server-7) Executor.doWork -- ome.services.sessions.SessionManagerImpl.executeCheckPassword 2010-07-02 10:46:38,285 INFO [ ome.services.util.ServiceHandler] (l.Server-7) Args: [null, ome.tools.spring.InternalServiceFactory@7e64cfe0] 2010-07-02 10:46:38,286 INFO [ ome.security.basic.EventHandler] (l.Server-7) Auth: user=0,group=0,event=null(Sessions),sess=846be045-2f41-4f31-87e7-8af4c01c4b67 2010-07-02 10:46:38,380 INFO [ org.perf4j.TimingLogger] (l.Server-7) start[1278063998285] time[95] tag[omero.call.exception] 2010-07-02 10:46:38,382 WARN [ ome.services.util.ServiceHandler] (l.Server-7) OptimisticLockingFailureException thrown. org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [3]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#3] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:672) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy56.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRO(SessionManagerImpl.java:919) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:910) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971) Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#3] at org.hibernate.event.def.DefaultFlushEntityEventListener.getDatabaseSnapshot(DefaultFlushEntityEventListener.java:575) at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:545) at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:230) at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:154) at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99) at org.hibernate.event.def.DefaultDirtyCheckEventListener.onDirtyCheck(DefaultDirtyCheckEventListener.java:54) at org.hibernate.impl.SessionImpl.isDirty(SessionImpl.java:1192) at ome.security.basic.EventHandler.invoke(EventHandler.java:167) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) ... 22 more 2010-07-02 10:46:38,384 INFO [ ome.services.util.ServiceHandler] (l.Server-7) Excp: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [3]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#3] 2010-07-02 10:46:38,385 ERROR [services.blitz.fire.PermissionsVerifierI] (l.Server-7) Exception thrown while checking password for:cxallan ome.conditions.OptimisticLockException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [3]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#3] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:672) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy56.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRO(SessionManagerImpl.java:919) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:910) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971) 2010-07-02 10:46:38,392 INFO [ ome.services.util.ServiceHandler] (l.Server-2) Executor.doWork -- ome.services.sessions.SessionManagerImpl.executeCheckPassword 2010-07-02 10:46:38,392 INFO [ ome.services.util.ServiceHandler] (l.Server-2) Args: [null, ome.tools.spring.InternalServiceFactory@68de59f0] 2010-07-02 10:46:38,393 INFO [ ome.security.basic.EventHandler] (l.Server-2) Auth: user=0,group=0,event=null(Sessions),sess=846be045-2f41-4f31-87e7-8af4c01c4b67 2010-07-02 10:46:38,414 INFO [ org.perf4j.TimingLogger] (l.Server-2) start[1278063998392] time[22] tag[omero.call.exception] 2010-07-02 10:46:38,415 WARN [ ome.services.util.ServiceHandler] (l.Server-2) OptimisticLockingFailureException thrown. org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [4]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#4] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:672) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy56.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRO(SessionManagerImpl.java:919) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:910) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971) Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#4] at org.hibernate.event.def.DefaultFlushEntityEventListener.getDatabaseSnapshot(DefaultFlushEntityEventListener.java:575) at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:545) at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:230) at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:154) at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99) at org.hibernate.event.def.DefaultDirtyCheckEventListener.onDirtyCheck(DefaultDirtyCheckEventListener.java:54) at org.hibernate.impl.SessionImpl.isDirty(SessionImpl.java:1192) at ome.security.basic.EventHandler.invoke(EventHandler.java:167) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) ... 22 more 2010-07-02 10:46:38,416 INFO [ ome.services.util.ServiceHandler] (l.Server-2) Excp: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [4]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#4] 2010-07-02 10:46:38,416 ERROR [services.blitz.fire.PermissionsVerifierI] (l.Server-2) Exception thrown while checking password for:cxallan ome.conditions.OptimisticLockException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [4]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#4] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:672) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy56.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRO(SessionManagerImpl.java:919) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:910) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971) 2010-07-02 10:46:38,435 INFO [ ome.services.util.ServiceHandler] (l.Server-9) Executor.doWork -- ome.services.sessions.SessionManagerImpl.executeCheckPassword 2010-07-02 10:46:38,435 INFO [ ome.services.util.ServiceHandler] (l.Server-9) Args: [null, ome.tools.spring.InternalServiceFactory@77d4433f] 2010-07-02 10:46:38,437 INFO [ ome.security.basic.EventHandler] (l.Server-9) Auth: user=0,group=0,event=null(Sessions),sess=846be045-2f41-4f31-87e7-8af4c01c4b67 2010-07-02 10:46:38,463 INFO [ org.perf4j.TimingLogger] (l.Server-9) start[1278063998435] time[28] tag[omero.call.exception] 2010-07-02 10:46:38,463 WARN [ ome.services.util.ServiceHandler] (l.Server-9) OptimisticLockingFailureException thrown. org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [5]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#5] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:672) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy56.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRO(SessionManagerImpl.java:919) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:910) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971) Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#5] at org.hibernate.event.def.DefaultFlushEntityEventListener.getDatabaseSnapshot(DefaultFlushEntityEventListener.java:575) at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:545) at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:230) at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:154) at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99) at org.hibernate.event.def.DefaultDirtyCheckEventListener.onDirtyCheck(DefaultDirtyCheckEventListener.java:54) at org.hibernate.impl.SessionImpl.isDirty(SessionImpl.java:1192) at ome.security.basic.EventHandler.invoke(EventHandler.java:167) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) ... 22 more 2010-07-02 10:46:38,464 INFO [ ome.services.util.ServiceHandler] (l.Server-9) Excp: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [5]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#5] 2010-07-02 10:46:38,464 ERROR [services.blitz.fire.PermissionsVerifierI] (l.Server-9) Exception thrown while checking password for:cxallan ome.conditions.OptimisticLockException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [5]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#5] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:672) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy56.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRO(SessionManagerImpl.java:919) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:910) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971) 2010-07-02 10:46:38,469 INFO [ ome.services.util.ServiceHandler] (l.Server-8) Executor.doWork -- ome.services.sessions.SessionManagerImpl.executeCheckPassword 2010-07-02 10:46:38,469 INFO [ ome.services.util.ServiceHandler] (l.Server-8) Args: [null, ome.tools.spring.InternalServiceFactory@5fefa888] 2010-07-02 10:46:38,470 INFO [ ome.security.basic.EventHandler] (l.Server-8) Auth: user=0,group=0,event=null(Sessions),sess=846be045-2f41-4f31-87e7-8af4c01c4b67 2010-07-02 10:46:38,492 INFO [ org.perf4j.TimingLogger] (l.Server-8) start[1278063998469] time[23] tag[omero.call.exception] 2010-07-02 10:46:38,493 WARN [ ome.services.util.ServiceHandler] (l.Server-8) OptimisticLockingFailureException thrown. org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [6]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#6] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:672) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy56.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRO(SessionManagerImpl.java:919) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:910) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971) Caused by: org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#6] at org.hibernate.event.def.DefaultFlushEntityEventListener.getDatabaseSnapshot(DefaultFlushEntityEventListener.java:575) at org.hibernate.event.def.DefaultFlushEntityEventListener.dirtyCheck(DefaultFlushEntityEventListener.java:545) at org.hibernate.event.def.DefaultFlushEntityEventListener.isUpdateNecessary(DefaultFlushEntityEventListener.java:230) at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:154) at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:219) at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:99) at org.hibernate.event.def.DefaultDirtyCheckEventListener.onDirtyCheck(DefaultDirtyCheckEventListener.java:54) at org.hibernate.impl.SessionImpl.isDirty(SessionImpl.java:1192) at ome.security.basic.EventHandler.invoke(EventHandler.java:167) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111) ... 22 more 2010-07-02 10:46:38,494 INFO [ ome.services.util.ServiceHandler] (l.Server-8) Excp: org.springframework.orm.hibernate3.HibernateOptimisticLockingFailureException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [6]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#6] 2010-07-02 10:46:38,494 ERROR [services.blitz.fire.PermissionsVerifierI] (l.Server-8) Exception thrown while checking password for:cxallan ome.conditions.OptimisticLockException: Object of class [ome.model.meta.ExperimenterGroup] with identifier [6]: optimistic locking failed; nested exception is org.hibernate.StaleObjectStateException: Row was updated or deleted by another transaction (or unsaved-value mapping was incorrect): [ome.model.meta.ExperimenterGroup#6] at org.springframework.orm.hibernate3.SessionFactoryUtils.convertHibernateAccessException(SessionFactoryUtils.java:672) at org.springframework.orm.hibernate3.HibernateAccessor.convertHibernateAccessException(HibernateAccessor.java:412) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:117) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:108) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:175) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy56.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:339) at ome.services.sessions.SessionManagerImpl.executeCheckPasswordRO(SessionManagerImpl.java:919) at ome.services.sessions.SessionManagerImpl.executeCheckPassword(SessionManagerImpl.java:910) at ome.services.sessions.SessionManagerImpl.executePasswordCheck(SessionManagerImpl.java:889) at ome.services.blitz.fire.PermissionsVerifierI.checkPermissions(PermissionsVerifierI.java:71) at Glacier2._PermissionsVerifierDisp.___checkPermissions(_PermissionsVerifierDisp.java:90) at Glacier2._PermissionsVerifierDisp.__dispatch(_PermissionsVerifierDisp.java:118) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2037) at Ice.ConnectionI.message(ConnectionI.java:972) at IceInternal.ThreadPool.run(ThreadPool.java:577) at IceInternal.ThreadPool.access$100(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)
comment:14 Changed 14 years ago by jmoore
comment:15 Changed 14 years ago by jmoore
comment:16 Changed 14 years ago by jmoore
- Resolution set to fixed
- Status changed from assigned to closed
I did another round of testing including SSL testing. Things seem fine. All documented on https://www.openmicroscopy.org/site/support/omero4/server/install-ldap
comment:17 Changed 14 years ago by jmoore
(In [8444]) Better logging for executeCheckPassword (See #2557)
original-svn-id: file:///home/svn/omero/trunk@7440 05709c45-44f0-0310-885b-81a1db45b4a6
With a basic configuration consisting of omero.ldap.base, omero.ldap.config and omero.ldap.urls the following exception is thrown on initial user creation upon successful LDAP authentication: