• Views
  • Iteration Report
  • My Iteration Report
  •  
OMERO.server
  • Login
  • Help/Guide
  • About Trac
  • Preferences
  • Wiki
  • Timeline
  • Roadmap
  • Browse Source
  • View Tickets
  • Search

Context Navigation

  • ← Previous Ticket
  • Next Ticket →

Ticket #1350 (reopened task)

Opened 9 months ago

Last modified 9 months ago

Rendering: saving twice

Reported by: jburel Owned by: callan
Priority: blocker Milestone: Unscheduled
Component: Services Version: 3.0-M3
Keywords: Cc: jason@…, jmoore

Description

Problem happens while saving twice the settings. Note that what we have to do when doing a "copy & Paste"

omero.SecurityViolation
    serverStackTrace = "ome.conditions.SecurityViolation: You are not authorized to change the update event for ome.model.display.RenderingDef:Id_805 from ome.model.meta.Event:Id_21346813 to ome.model.meta.Event:Id_21346812
                        	at ome.security.basic.OmeroInterceptor.managedEvent(OmeroInterceptor.java:953)
                        	at ome.security.basic.OmeroInterceptor.checkManagedDetails(OmeroInterceptor.java:602)
                        	at ome.security.basic.OmeroInterceptor.resetDetails(OmeroInterceptor.java:298)
                        	at ome.security.basic.OmeroInterceptor.onFlushDirty(OmeroInterceptor.java:173)
                        	at org.hibernate.event.def.DefaultFlushEntityEventListener.invokeInterceptor(DefaultFlushEntityEventListener.java:331)
                        	at org.hibernate.event.def.DefaultFlushEntityEventListener.handleInterception(DefaultFlushEntityEventListener.java:308)
                        	at org.hibernate.event.def.DefaultFlushEntityEventListener.scheduleUpdate(DefaultFlushEntityEventListener.java:248)
                        	at org.hibernate.event.def.DefaultFlushEntityEventListener.onFlushEntity(DefaultFlushEntityEventListener.java:128)
                        	at ome.security.basic.FlushEntityEventListener.onFlushEntity(FlushEntityEventListener.java:52)
                        	at org.hibernate.event.def.AbstractFlushingEventListener.flushEntities(AbstractFlushingEventListener.java:196)
                        	at org.hibernate.event.def.AbstractFlushingEventListener.flushEverythingToExecutions(AbstractFlushingEventListener.java:76)
                        	at org.hibernate.event.def.DefaultFlushEventListener.onFlush(DefaultFlushEventListener.java:26)
                        	at org.hibernate.impl.SessionImpl.flush(SessionImpl.java:1000)
                        	at ome.logic.UpdateImpl.afterUpdate(UpdateImpl.java:292)
                        	at ome.logic.UpdateImpl.doAction(UpdateImpl.java:304)
                        	at ome.logic.UpdateImpl.saveAndReturnObject(UpdateImpl.java:118)
                        	at ome.logic.PixelsImpl.saveRndSettings(PixelsImpl.java:315)
                        	at ome.services.RenderingBean$2.doWork(RenderingBean.java:723)
                        	at sun.reflect.GeneratedMethodAccessor190.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:310)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
                        	at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:377)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
                        	at ome.security.basic.EventHandler.invoke(EventHandler.java:116)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
                        	at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:111)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
                        	at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:106)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
                        	at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:169)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
                        	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:97)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
                        	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
                        	at $Proxy55.doWork(Unknown Source)
                        	at ome.services.util.Executor$Impl.execute(Executor.java:307)
                        	at ome.services.RenderingBean.saveCurrentSettings(RenderingBean.java:718)
                        	at sun.reflect.GeneratedMethodAccessor1213.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:310)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
                        	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:97)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
                        	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
                        	at $Proxy63.saveCurrentSettings(Unknown Source)
                        	at sun.reflect.GeneratedMethodAccessor1213.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:310)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:182)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:149)
                        	at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:78)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
                        	at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:35)
                        	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:171)
                        	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:204)
                        	at $Proxy63.saveCurrentSettings(Unknown Source)
                        	at sun.reflect.GeneratedMethodAccessor1217.invoke(Unknown Source)
                        	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
                        	at java.lang.reflect.Method.invoke(Method.java:597)
                        	at ome.services.blitz.util.IceMethodInvoker.callOrClose(IceMethodInvoker.java:257)
                        	at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:179)
                        	at ome.services.throttling.Callback.run(Callback.java:55)
                        	at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:37)
                        	at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:114)
                        	at ome.services.blitz.impl.RenderingEngineI.saveCurrentSettings_async(RenderingEngineI.java:312)
                        	at omero.api._RenderingEngineTie.saveCurrentSettings_async(_RenderingEngineTie.java:295)
                        	at omero.api._RenderingEngineDisp.___saveCurrentSettings(_RenderingEngineDisp.java:1216)
                        	at omero.api._RenderingEngineDisp.__dispatch(_RenderingEngineDisp.java:1590)
                        	at IceInternal.Incoming.invoke(Incoming.java:166)
                        	at Ice.ConnectionI.invokeAll(ConnectionI.java:2045)
                        	at Ice.ConnectionI.message(ConnectionI.java:977)
                        	at IceInternal.ThreadPool.run(ThreadPool.java:575)
                        	at IceInternal.ThreadPool.access$100(ThreadPool.java:12)
                        	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:951)
                        "
    serverExceptionClass = "ome.conditions.SecurityViolation"
    message = "You are not authorized to change the update event for ome.model.display.RenderingDef:Id_805 from ome.model.meta.Event:Id_21346813 to ome.model.meta.Event:Id_21346812"
	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:494)
	at java.lang.Class.newInstance0(Class.java:350)
	at java.lang.Class.newInstance(Class.java:303)
	at IceInternal.BasicStream$DynamicUserExceptionFactory.createAndThrow(BasicStream.java:2127)
	at IceInternal.BasicStream.throwException(BasicStream.java:1541)
	at IceInternal.Outgoing.throwUserException(Outgoing.java:442)
	at omero.api._RenderingEngineDelM.saveCurrentSettings(_RenderingEngineDelM.java:1672)
	at omero.api.RenderingEnginePrxHelper.saveCurrentSettings(RenderingEnginePrxHelper.java:2299)
	at omero.api.RenderingEnginePrxHelper.saveCurrentSettings(RenderingEnginePrxHelper.java:2271)
	at org.openmicroscopy.shoola.env.rnd.RenderingControlProxy.saveCurrentSettings(RenderingControlProxy.java:1018)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerModel.saveRndSettings(ImViewerModel.java:1089)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerComponent.saveOnClose(ImViewerComponent.java:221)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerComponent.discard(ImViewerComponent.java:498)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerControl$3.windowClosing(ImViewerControl.java:476)
	at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:291)
	at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:291)
	at java.awt.Window.processWindowEvent(Window.java:1213)
	at javax.swing.JFrame.processWindowEvent(JFrame.java:267)
	at java.awt.Window.processEvent(Window.java:1171)
	at java.awt.Component.dispatchEventImpl(Component.java:4068)
	at java.awt.Container.dispatchEventImpl(Container.java:2068)
	at java.awt.Window.dispatchEventImpl(Window.java:1801)
	at java.awt.Component.dispatchEvent(Component.java:3903)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Ice.ObjectNotExistException
    id.name = "86:24:41:33:-45826ed2:120f3d37e11:-69bdomero.api.RenderingEngine"
    id.category = "b7155523-4401-4f8c-bb8d-7f887d5e4864"
    facet = ""
    operation = "saveCurrentSettings"
	at IceInternal.Outgoing.invoke(Outgoing.java:147)
	at omero.api._RenderingEngineDelM.saveCurrentSettings(_RenderingEngineDelM.java:1665)
	at omero.api.RenderingEnginePrxHelper.saveCurrentSettings(RenderingEnginePrxHelper.java:2299)
	at omero.api.RenderingEnginePrxHelper.saveCurrentSettings(RenderingEnginePrxHelper.java:2271)
	at org.openmicroscopy.shoola.env.rnd.RenderingControlProxy.saveCurrentSettings(RenderingControlProxy.java:1018)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerModel.saveRndSettings(ImViewerModel.java:1089)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerComponent.saveOnClose(ImViewerComponent.java:221)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerComponent.discard(ImViewerComponent.java:498)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerControl$3.windowClosing(ImViewerControl.java:476)
	at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:291)
	at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:291)
	at java.awt.Window.processWindowEvent(Window.java:1213)
	at javax.swing.JFrame.processWindowEvent(JFrame.java:267)
	at java.awt.Window.processEvent(Window.java:1171)
	at java.awt.Component.dispatchEventImpl(Component.java:4068)
	at java.awt.Container.dispatchEventImpl(Container.java:2068)
	at java.awt.Window.dispatchEventImpl(Window.java:1801)
	at java.awt.Component.dispatchEvent(Component.java:3903)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)
Ice.ObjectNotExistException
    id.name = "86:24:41:33:-45826ed2:120f3d37e11:-69bdomero.api.RenderingEngine"
    id.category = "b7155523-4401-4f8c-bb8d-7f887d5e4864"
    facet = ""
    operation = "saveCurrentSettings"
	at IceInternal.Outgoing.invoke(Outgoing.java:147)
	at omero.api._RenderingEngineDelM.saveCurrentSettings(_RenderingEngineDelM.java:1665)
	at omero.api.RenderingEnginePrxHelper.saveCurrentSettings(RenderingEnginePrxHelper.java:2299)
	at omero.api.RenderingEnginePrxHelper.saveCurrentSettings(RenderingEnginePrxHelper.java:2271)
	at org.openmicroscopy.shoola.env.rnd.RenderingControlProxy.saveCurrentSettings(RenderingControlProxy.java:1018)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerModel.saveRndSettings(ImViewerModel.java:1089)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerComponent.saveRndSettings(ImViewerComponent.java:2189)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerComponent.saveOnClose(ImViewerComponent.java:274)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerComponent.discard(ImViewerComponent.java:498)
	at org.openmicroscopy.shoola.agents.imviewer.view.ImViewerControl$3.windowClosing(ImViewerControl.java:476)
	at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:291)
	at java.awt.AWTEventMulticaster.windowClosing(AWTEventMulticaster.java:291)
	at java.awt.Window.processWindowEvent(Window.java:1213)
	at javax.swing.JFrame.processWindowEvent(JFrame.java:267)
	at java.awt.Window.processEvent(Window.java:1171)
	at java.awt.Component.dispatchEventImpl(Component.java:4068)
	at java.awt.Container.dispatchEventImpl(Container.java:2068)
	at java.awt.Window.dispatchEventImpl(Window.java:1801)
	at java.awt.Component.dispatchEvent(Component.java:3903)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:463)
	at java.awt.EventDispatchThread.pumpOneEventForHierarchy(EventDispatchThread.java:269)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:190)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:184)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:176)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:110)



Change History

Changed 9 months ago by jburel

  • type changed from story to task

Changed 9 months ago by cxallan

  • status changed from new to closed
  • resolution set to fixed

Fixed in the Beta-4.0 branch with r4413 and merged for safety into Trunk with r4414.

Changed 9 months ago by jburel

  • status changed from closed to reopened
  • cc jmoore added
  • resolution fixed deleted

Reopen the ticket, I manage to reproduce the problem running the latest server code.

Changed 9 months ago by jburel

workflow:
I have an image, image1 and RE proxy for image1 in hand.

  • modify the settings for image1
  • copy and paste the settings to all images displayed in browser (image1 is one of them). This will not crash.
  • modify the settings of image1: crash.

This is due to the fact that image1 was in the list of images cf. step 2. The active RE has an old copy of the settings for image1.

If image1 not in the list, no problem.

Note: See TracTickets for help on using tickets.

Download in other formats:

  • Comma-delimited Text
  • Tab-delimited Text
  • RSS Feed

Trac Powered

Powered by Trac 0.11.5
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/