Task #10556 (closed)
Opened 11 years ago
Closed 10 years ago
BUG:Cut Plate into other user's data
Reported by: | omero-qa | Owned by: | dlindner |
---|---|---|---|
Priority: | minor | Milestone: | 5.0.1 |
Component: | from QA | Version: | 4.4.9 |
Keywords: | TAB | Cc: | s.besson@…, ux@… |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
https://www.openmicroscopy.org/qa2/qa2/qa/feedback/4978/
Comment: Logged in as user-8. Tried to cut my plate (ID:75) from user-9's screen.
java.lang.Exception: org.openmicroscopy.shoola.env.data.DSAccessException: Cannot access data. Cannot delete the object. at org.openmicroscopy.shoola.env.data.OMEROGateway.handleException(OMEROGateway.java:891) at org.openmicroscopy.shoola.env.data.OMEROGateway.deleteObjects(OMEROGateway.java:3026) at org.openmicroscopy.shoola.env.data.OmeroDataServiceImpl.cut(OmeroDataServiceImpl.java:134) at org.openmicroscopy.shoola.env.data.OmeroDataServiceImpl.cutAndPaste(OmeroDataServiceImpl.java:466) at org.openmicroscopy.shoola.env.data.views.calls.ExistingObjectsSaver$3.doCall(ExistingObjectsSaver.java:162) at org.openmicroscopy.shoola.env.data.views.BatchCall.doStep(BatchCall.java:144) at org.openmicroscopy.shoola.util.concur.tasks.CompositeTask.doStep(CompositeTask.java:226) at org.openmicroscopy.shoola.env.data.views.CompositeBatchCall.doStep(CompositeBatchCall.java:126) at org.openmicroscopy.shoola.util.concur.tasks.ExecCommand.exec(ExecCommand.java:165) at org.openmicroscopy.shoola.util.concur.tasks.ExecCommand.run(ExecCommand.java:276) at org.openmicroscopy.shoola.util.concur.tasks.AsyncProcessor$Runner.run(AsyncProcessor.java:91) at java.lang.Thread.run(Thread.java:680) Caused by: omero.SecurityViolation serverStackTrace = "ome.conditions.SecurityViolation: Deleting ome.model.screen.ScreenPlateLink:Id_136 not allowed. at ome.security.basic.BasicACLVoter.throwDeleteViolation(BasicACLVoter.java:235) at ome.security.CompositeACLVoter.throwDeleteViolation(CompositeACLVoter.java:84) at ome.security.ACLEventListener.onPreDelete(ACLEventListener.java:143) at org.hibernate.action.EntityDeleteAction.preDelete(EntityDeleteAction.java:131) at org.hibernate.action.EntityDeleteAction.execute(EntityDeleteAction.java:71) at org.hibernate.engine.ActionQueue.execute(ActionQueue.java:267) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:259) at org.hibernate.engine.ActionQueue.executeActions(ActionQueue.java:183) 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:1208) at ome.logic.UpdateImpl.afterUpdate(UpdateImpl.java:294) at ome.logic.UpdateImpl.doAction(UpdateImpl.java:312) at ome.logic.UpdateImpl.doAction(UpdateImpl.java:302) at ome.logic.UpdateImpl.deleteObject(UpdateImpl.java:200) at sun.reflect.GeneratedMethodAccessor2577.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) 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.security.basic.EventHandler.invoke(EventHandler.java:154) 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:241) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:116) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy96.deleteObject(Unknown Source) at sun.reflect.GeneratedMethodAccessor2577.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) 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.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:98) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy96.deleteObject(Unknown Source) at sun.reflect.GeneratedMethodAccessor2667.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:179) at ome.services.throttling.Callback.run(Callback.java:56) at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56) at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:150) at ome.services.blitz.impl.UpdateI.deleteObject_async(UpdateI.java:46) at sun.reflect.GeneratedMethodAccessor2666.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:616) 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 omero.cmd.CallContext.invoke(CallContext.java:59) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy97.deleteObject_async(Unknown Source) at omero.api._IUpdateTie.deleteObject_async(_IUpdateTie.java:73) at omero.api._IUpdateDisp.___deleteObject(_IUpdateDisp.java:285) at omero.api._IUpdateDisp.__dispatch(_IUpdateDisp.java:345) at IceInternal.Incoming.invoke(Incoming.java:159) at Ice.ConnectionI.invokeAll(ConnectionI.java:2357) at Ice.ConnectionI.dispatch(ConnectionI.java:1208) at Ice.ConnectionI.message(ConnectionI.java:1163) at IceInternal.ThreadPool.run(ThreadPool.java:302) at IceInternal.ThreadPool.access$300(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:643) at java.lang.Thread.run(Thread.java:679) " serverExceptionClass = "ome.conditions.SecurityViolation" message = "Deleting ome.model.screen.ScreenPlateLink:Id_136 not allowed." at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27) at java.lang.reflect.Constructor.newInstance(Constructor.java:513) at java.lang.Class.newInstance0(Class.java:357) at java.lang.Class.newInstance(Class.java:310) at IceInternal.BasicStream$DynamicUserExceptionFactory.createAndThrow(BasicStream.java:2243) at IceInternal.BasicStream.throwException(BasicStream.java:1632) at IceInternal.Outgoing.throwUserException(Outgoing.java:442) at omero.api._IUpdateDelM.deleteObject(_IUpdateDelM.java:41) at omero.api.IUpdatePrxHelper.deleteObject(IUpdatePrxHelper.java:48) at omero.api.IUpdatePrxHelper.deleteObject(IUpdatePrxHelper.java:20) at org.openmicroscopy.shoola.env.data.OMEROGateway.deleteObjects(OMEROGateway.java:3023) ... 10 more at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.showErrorDialog(UserNotifierImpl.java:189) at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.notifyError(UserNotifierImpl.java:287) at org.openmicroscopy.shoola.env.ui.UserNotifierImpl.notifyError(UserNotifierImpl.java:257) at org.openmicroscopy.shoola.agents.treeviewer.DataTreeViewerLoader.handleException(DataTreeViewerLoader.java:177) at org.openmicroscopy.shoola.env.data.events.DSCallAdapter.eventFired(DSCallAdapter.java:84) at org.openmicroscopy.shoola.env.data.views.BatchCallMonitor$1.run(BatchCallMonitor.java:124) at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209) at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:708) at java.awt.EventQueue.access$400(EventQueue.java:82) at java.awt.EventQueue$2.run(EventQueue.java:669) at java.awt.EventQueue$2.run(EventQueue.java:667) at java.security.AccessController.doPrivileged(Native Method) at java.security.AccessControlContext$1.doIntersectionPrivilege(AccessControlContext.java:87) at java.awt.EventQueue.dispatchEvent(EventQueue.java:678) at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:296) at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:211) at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:201) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:196) at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:188) at java.awt.EventDispatchThread.run(EventDispatchThread.java:122)
Change History (6)
comment:1 Changed 11 years ago by jburel
- Cc ux@… added
comment:2 Changed 11 years ago by jamoore
- Keywords TAB added
- Version set to 4.4.9
comment:3 Changed 11 years ago by jburel
- Milestone changed from Unscheduled to 5.0.1
- Owner changed from jburel to dlindner
comment:4 Changed 11 years ago by dlindner
comment:5 Changed 10 years ago by jburel
Sebastien: did you still have the problem? did it happen after switching user?
cf dominik's PR on switching user.
comment:6 Changed 10 years ago by sbesson
- Resolution set to invalid
- Status changed from new to closed
Tried to reproduce using gretzky and OMERO.insight-5.0.0-ice35-b98 unsuccessfully. Context was the Unlink Scenario but could not get more details in the logs. Closing as invalid.
Could not reproduce bug.
Tried with following scenario:
Group “test2”
Users: user1 and user2 both owner of group test2
Screens:
“u1” owner user1
“u2” owner user2
Setup:
Login as user2
Import plate to “u1”
Test:
Cut plate from “u1”
Paste plate into “u2"
Worked as expected.