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
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.
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
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 } )))