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 #12933 (closed)

Opened 4 years ago

Closed 3 years ago

BUG: execute scripts in read-only

Reported by: pwalczysko Owned by: jburel
Priority: major Milestone: Permissions
Component: Scripting Version: 5.1.2
Keywords: n.a. Cc: ux@…
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: n.a.
Sprint: n.a.

Description

It should not be possible to execute scripts on others' images in Read-only group (no owner, no admin).

But Insight is allowing this, script ending with Error.

Example: user-2 executes Channel Offsets on user-4's images in read-only-1 on trout merge or trout latest.

Change History (8)

comment:1 Changed 4 years ago by pwalczysko

WARNING:omero.gateway:SecurityViolation on <class 'omero.gateway.OmeroGatewaySafeCallWrapper'> to <cbbf0eb3-218c-4d02-989c-b88934de3d85omero.api.IPixels> copyAndResizeImage((9796L, object #0 (::omero::RInt)
{
   _val = 512
}, object #0 (::omero::RInt)
{
   _val = 512
}, object #0 (::omero::RInt)
{
   _val = 29
}, object #0 (::omero::RInt)
{
   _val = 1
}, [0, 1], None, False, <ServiceOptsDict: {'omero.session.uuid': '7a2c5c36-fc32-4971-b6cc-a464e88af412', 'omero.client.uuid': 'cbbf0eb3-218c-4d02-989c-b88934de3d85'}>), {})
Traceback (most recent call last):
 File "/opt/hudson/workspace/OMERO-5.1-merge-deploy/src/dist/lib/python/omero/gateway/__init__.py", line 4123, in __call__
   return self.f(*args, **kwargs)
 File "/opt/hudson/workspace/OMERO-5.1-merge-deploy/src/dist/lib/python/omero_api_IPixels_ice.py", line 238, in copyAndResizeImage
   return _M_omero.api.IPixels._op_copyAndResizeImage.invoke(self, ((imageId, sizeX, sizeY, sizeZ, sizeT, channelList, methodology, copyStats), _ctx))
SecurityViolation: exception ::omero::SecurityViolation
{
   serverStackTrace = ome.conditions.SecurityViolation: Group is rwr---. Cannot link to object: ome.model.acquisition.Instrument:Id_2972
   at ome.security.basic.OmeroInterceptor.throwIfNotGranted(OmeroInterceptor.java:1149)
   at ome.security.basic.OmeroInterceptor.evaluateLinkages(OmeroInterceptor.java:553)
   at ome.security.basic.OmeroInterceptor.onSave(OmeroInterceptor.java:161)
   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.saveTransientEntity(DefaultMergeEventListener.java:415)
   at org.hibernate.event.def.DefaultMergeEventListener.mergeTransientEntity(DefaultMergeEventListener.java:341)
   at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:303)
   at org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener.entityIsTransient(IdTransferringMergeEventListener.java:59)
   at ome.security.basic.MergeEventListener.entityIsTransient(MergeEventListener.java:161)
   at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:258)
   at ome.security.basic.MergeEventListener.onMerge(MergeEventListener.java:94)
   at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:84)
   at ome.security.basic.MergeEventListener.onMerge(MergeEventListener.java:80)
   at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:861)
   at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:845)
   at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:849)
   at ome.logic.UpdateImpl.internalMerge(UpdateImpl.java:274)
   at ome.logic.UpdateImpl$2.run(UpdateImpl.java:121)
   at ome.logic.UpdateImpl$2.run(UpdateImpl.java:118)
   at ome.logic.UpdateImpl.doAction(UpdateImpl.java:312)
   at ome.logic.UpdateImpl.doAction(UpdateImpl.java:303)
   at ome.logic.UpdateImpl.saveAndReturnObject(UpdateImpl.java:118)
   at ome.logic.PixelsImpl.copyAndResizeImage(PixelsImpl.java:252)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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:249)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at com.sun.proxy.$Proxy94.copyAndResizeImage(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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 com.sun.proxy.$Proxy94.copyAndResizeImage(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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:149)
   at ome.services.blitz.impl.PixelsI.copyAndResizeImage_async(PixelsI.java:55)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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:78)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at com.sun.proxy.$Proxy95.copyAndResizeImage_async(Unknown Source)
   at omero.api._IPixelsTie.copyAndResizeImage_async(_IPixelsTie.java:66)
   at omero.api._IPixelsDisp.___copyAndResizeImage(_IPixelsDisp.java:393)
   at omero.api._IPixelsDisp.__dispatch(_IPixelsDisp.java:494)
   at IceInternal.Incoming.invoke(Incoming.java:222)
   at Ice.ConnectionI.invokeAll(ConnectionI.java:2482)
   at Ice.ConnectionI.dispatch(ConnectionI.java:1258)
   at Ice.ConnectionI.message(ConnectionI.java:1213)
   at IceInternal.ThreadPool.run(ThreadPool.java:321)
   at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
   at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:693)
   at java.lang.Thread.run(Thread.java:745)

   serverExceptionClass = ome.conditions.SecurityViolation
   message = Group is rwr---. Cannot link to object: ome.model.acquisition.Instrument:Id_2972
}
ERROR:omero.gateway:Failed to setPlane() on rawPixelsStore while creating Image
Traceback (most recent call last):
 File "/opt/hudson/workspace/OMERO-5.1-merge-deploy/src/dist/lib/python/omero/gateway/__init__.py", line 3327, in createImageFromNumpySeq
   image, dtype = createImage(plane, channelList)
 File "/opt/hudson/workspace/OMERO-5.1-merge-deploy/src/dist/lib/python/omero/gateway/__init__.py", line 3263, in createImage
   rint(sizeT), channelList, None, False, self.SERVICE_OPTS)
 File "/opt/hudson/workspace/OMERO-5.1-merge-deploy/src/dist/lib/python/omero/gateway/__init__.py", line 4126, in __call__
   return self.handle_exception(e, *args, **kwargs)
 File "/opt/hudson/workspace/OMERO-5.1-merge-deploy/src/dist/lib/python/omero/gateway/__init__.py", line 4123, in __call__
   return self.f(*args, **kwargs)
 File "/opt/hudson/workspace/OMERO-5.1-merge-deploy/src/dist/lib/python/omero_api_IPixels_ice.py", line 238, in copyAndResizeImage
   return _M_omero.api.IPixels._op_copyAndResizeImage.invoke(self, ((imageId, sizeX, sizeY, sizeZ, sizeT, channelList, methodology, copyStats), _ctx))
SecurityViolation: exception ::omero::SecurityViolation
{
   serverStackTrace = ome.conditions.SecurityViolation: Group is rwr---. Cannot link to object: ome.model.acquisition.Instrument:Id_2972
   at ome.security.basic.OmeroInterceptor.throwIfNotGranted(OmeroInterceptor.java:1149)
   at ome.security.basic.OmeroInterceptor.evaluateLinkages(OmeroInterceptor.java:553)
   at ome.security.basic.OmeroInterceptor.onSave(OmeroInterceptor.java:161)
   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.saveTransientEntity(DefaultMergeEventListener.java:415)
   at org.hibernate.event.def.DefaultMergeEventListener.mergeTransientEntity(DefaultMergeEventListener.java:341)
   at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:303)
   at org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener.entityIsTransient(IdTransferringMergeEventListener.java:59)
   at ome.security.basic.MergeEventListener.entityIsTransient(MergeEventListener.java:161)
   at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:258)
   at ome.security.basic.MergeEventListener.onMerge(MergeEventListener.java:94)
   at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:84)
   at ome.security.basic.MergeEventListener.onMerge(MergeEventListener.java:80)
   at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:861)
   at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:845)
   at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:849)
   at ome.logic.UpdateImpl.internalMerge(UpdateImpl.java:274)
   at ome.logic.UpdateImpl$2.run(UpdateImpl.java:121)
   at ome.logic.UpdateImpl$2.run(UpdateImpl.java:118)
   at ome.logic.UpdateImpl.doAction(UpdateImpl.java:312)
   at ome.logic.UpdateImpl.doAction(UpdateImpl.java:303)
   at ome.logic.UpdateImpl.saveAndReturnObject(UpdateImpl.java:118)
   at ome.logic.PixelsImpl.copyAndResizeImage(PixelsImpl.java:252)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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:249)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at com.sun.proxy.$Proxy94.copyAndResizeImage(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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 com.sun.proxy.$Proxy94.copyAndResizeImage(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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:149)
   at ome.services.blitz.impl.PixelsI.copyAndResizeImage_async(PixelsI.java:55)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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:78)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at com.sun.proxy.$Proxy95.copyAndResizeImage_async(Unknown Source)
   at omero.api._IPixelsTie.copyAndResizeImage_async(_IPixelsTie.java:66)
   at omero.api._IPixelsDisp.___copyAndResizeImage(_IPixelsDisp.java:393)
   at omero.api._IPixelsDisp.__dispatch(_IPixelsDisp.java:494)
   at IceInternal.Incoming.invoke(Incoming.java:222)
   at Ice.ConnectionI.invokeAll(ConnectionI.java:2482)
   at Ice.ConnectionI.dispatch(ConnectionI.java:1258)
   at Ice.ConnectionI.message(ConnectionI.java:1213)
   at IceInternal.ThreadPool.run(ThreadPool.java:321)
   at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
   at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:693)
   at java.lang.Thread.run(Thread.java:745)

   serverExceptionClass = ome.conditions.SecurityViolation
   message = Group is rwr---. Cannot link to object: ome.model.acquisition.Instrument:Id_2972
}
Traceback (most recent call last):
 File "./script", line 392, in <module>
   runAsScript()
 File "./script", line 378, in runAsScript
   images, dataset, message = processImages(conn, scriptParams)
 File "./script", line 242, in processImages
   dataset)
 File "./script", line 175, in newImageWithChannelOffsets
   description=desc, sourceImageId=imageId, channelList=channelList)
 File "/opt/hudson/workspace/OMERO-5.1-merge-deploy/src/dist/lib/python/omero/gateway/__init__.py", line 3356, in createImageFromNumpySeq
   raise exc
omero.SecurityViolation: exception ::omero::SecurityViolation
{
   serverStackTrace = ome.conditions.SecurityViolation: Group is rwr---. Cannot link to object: ome.model.acquisition.Instrument:Id_2972
   at ome.security.basic.OmeroInterceptor.throwIfNotGranted(OmeroInterceptor.java:1149)
   at ome.security.basic.OmeroInterceptor.evaluateLinkages(OmeroInterceptor.java:553)
   at ome.security.basic.OmeroInterceptor.onSave(OmeroInterceptor.java:161)
   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.saveTransientEntity(DefaultMergeEventListener.java:415)
   at org.hibernate.event.def.DefaultMergeEventListener.mergeTransientEntity(DefaultMergeEventListener.java:341)
   at org.hibernate.event.def.DefaultMergeEventListener.entityIsTransient(DefaultMergeEventListener.java:303)
   at org.springframework.orm.hibernate3.support.IdTransferringMergeEventListener.entityIsTransient(IdTransferringMergeEventListener.java:59)
   at ome.security.basic.MergeEventListener.entityIsTransient(MergeEventListener.java:161)
   at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:258)
   at ome.security.basic.MergeEventListener.onMerge(MergeEventListener.java:94)
   at org.hibernate.event.def.DefaultMergeEventListener.onMerge(DefaultMergeEventListener.java:84)
   at ome.security.basic.MergeEventListener.onMerge(MergeEventListener.java:80)
   at org.hibernate.impl.SessionImpl.fireMerge(SessionImpl.java:861)
   at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:845)
   at org.hibernate.impl.SessionImpl.merge(SessionImpl.java:849)
   at ome.logic.UpdateImpl.internalMerge(UpdateImpl.java:274)
   at ome.logic.UpdateImpl$2.run(UpdateImpl.java:121)
   at ome.logic.UpdateImpl$2.run(UpdateImpl.java:118)
   at ome.logic.UpdateImpl.doAction(UpdateImpl.java:312)
   at ome.logic.UpdateImpl.doAction(UpdateImpl.java:303)
   at ome.logic.UpdateImpl.saveAndReturnObject(UpdateImpl.java:118)
   at ome.logic.PixelsImpl.copyAndResizeImage(PixelsImpl.java:252)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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:249)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at com.sun.proxy.$Proxy94.copyAndResizeImage(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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 com.sun.proxy.$Proxy94.copyAndResizeImage(Unknown Source)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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:149)
   at ome.services.blitz.impl.PixelsI.copyAndResizeImage_async(PixelsI.java:55)
   at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
   at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
   at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
   at java.lang.reflect.Method.invoke(Method.java:606)
   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:78)
   at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
   at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
   at com.sun.proxy.$Proxy95.copyAndResizeImage_async(Unknown Source)
   at omero.api._IPixelsTie.copyAndResizeImage_async(_IPixelsTie.java:66)
   at omero.api._IPixelsDisp.___copyAndResizeImage(_IPixelsDisp.java:393)
   at omero.api._IPixelsDisp.__dispatch(_IPixelsDisp.java:494)
   at IceInternal.Incoming.invoke(Incoming.java:222)
   at Ice.ConnectionI.invokeAll(ConnectionI.java:2482)
   at Ice.ConnectionI.dispatch(ConnectionI.java:1258)
   at Ice.ConnectionI.message(ConnectionI.java:1213)
   at IceInternal.ThreadPool.run(ThreadPool.java:321)
   at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
   at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:693)
   at java.lang.Thread.run(Thread.java:745)

   serverExceptionClass = ome.conditions.SecurityViolation
   message = Group is rwr---. Cannot link to object: ome.model.acquisition.Instrument:Id_2972
}
)))

comment:2 Changed 4 years ago by mtbcarroll

Presumably there are plausible cases in which one would indeed run a script on others' read-only data? Perhaps the bug is in scripts like this one not more carefully checking the environment in which they're running and then handling the failure poorly. (Though I wonder if the "metadata" on scripts, like the parameters they take, ought to include some extra information that would help Insight determine if the script currently makes sense in context.)

comment:3 Changed 4 years ago by jburel

This also currently possible in web. Not limited to insight
One option is to remove the id from the list of pre-populated id.
I agree with mark that it will depend on the script and we currently do not offer such granularity at the script level.

Last edited 4 years ago by jburel (previous) (diff)

comment:4 Changed 4 years ago by jamoore

I'd also agree that this is a script-bug and not a UI bug. If we would like to add, say, a namespace to the scripts like "read-write" or "read-annotate", then clients could make use of that.

comment:5 Changed 4 years ago by jburel

  • Component changed from Insight to Scripting

comment:6 Changed 4 years ago by jamoore

  • Milestone changed from 5.1.4 to OMERO-5.1.4

Splitting 5.1.4 due to milestone decoupling

comment:7 Changed 3 years ago by jamoore

  • Milestone changed from 5.x to Permissions

comment:8 Changed 3 years ago by jburel

  • Resolution set to wontfix
  • Status changed from new to closed
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.79078 sec.)

We're Hiring!