Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

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

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.

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.

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.68376 sec.)

We're Hiring!