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

Opened 13 years ago

Closed 13 years ago

Last modified 13 years ago

Bug: Error creating PIXELDATA from rendering engine

Reported by: cxallan Owned by: jamoore
Priority: minor Milestone: OMERO-Beta4.3
Component: General Version: n.a.
Keywords: n.a. Cc:
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: 2011-05-19 (12)

Description (last modified by cxallan)

Creating rendering engine for Pixels:1701...
Traceback (most recent call last):
  File "create_rendering_engine.py", line 15, in <module>
    o.load()
  File "/home/callan/code/ome.git/dist/lib/python/omero_api_RenderingEngine_ice.py", line 235, in load
    return _M_omero.api.RenderingEngine._op_load.invoke(self, ((), _ctx))
omero.ApiUsageException: exception ::omero::ApiUsageException
{
    serverStackTrace = ome.conditions.ApiUsageException: Id cannot be null for a proxy
	at ome.model.meta.Experimenter.<init>(Experimenter.java:71)
	at ome.services.pixeldata.PixelDataThread$2.doWork(PixelDataThread.java:133)
	at sun.reflect.GeneratedMethodAccessor234.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.services.util.Executor$Impl$Interceptor.invoke(Executor.java:439)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:150)
	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:231)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy64.doWork(Unknown Source)
	at ome.services.util.Executor$Impl.execute(Executor.java:369)
	at ome.services.pixeldata.PixelDataThread.makeEvent(PixelDataThread.java:125)
	at ome.services.pixeldata.PixelDataThread.access$000(PixelDataThread.java:43)
	at ome.services.pixeldata.PixelDataThread$1.call(PixelDataThread.java:118)
	at ome.services.pixeldata.PixelDataThread$1.call(PixelDataThread.java:116)
	at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334)
	at java.util.concurrent.FutureTask.run(FutureTask.java:166)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
	at java.lang.Thread.run(Thread.java:679)

    serverExceptionClass = ome.conditions.ApiUsageException
    message = Id cannot be null for a proxy
}

Change History (5)

comment:1 Changed 13 years ago by cxallan

  • Description modified (diff)
  • Owner set to jmoore

Test code:

    print 'Creating rendering engine for Pixels:%d...' % pixels_id
    o = session.createRenderingEngine()
    o.lookupPixels(pixels_id)
    o.lookupRenderingDef(pixels_id)
    o.load()

comment:2 Changed 13 years ago by jmoore

  • Remaining Time set to 0.5
  • Status changed from new to accepted

comment:3 Changed 13 years ago by jmoore

Issue was that RE.load wasn't executin PixelsService.getPixelBuffer within a Executor method. Modifying that I get:

~/git/dist $ PYTHONPATH=$PYTHONPATH:lib/python python script.py 
Created rendering engine for: 5454
Resolution levels: 6
Resolution level: 5
Tile size: [240, 240]
~/git/dist $ rm /tmp/data/Pixels/Dir-005/5454_pyramid 
remove /tmp/data/Pixels/Dir-005/5454_pyramid? y
~/git/dist $ PYTHONPATH=$PYTHONPATH:lib/python python script.py 
Created rendering engine for: 5454
Traceback (most recent call last):
  File "script.py", line 16, in <module>
    o.load()
  File "/Users/moore/git/components/tools/OmeroPy/build/lib/omero_api_RenderingEngine_ice.py", line 235, in load
    return _M_omero.api.RenderingEngine._op_load.invoke(self, ((), _ctx))
omero.MissingPyramidException: exception ::omero::MissingPyramidException
{
    serverStackTrace = ome.conditions.MissingPyramidException: Missing pyramid:/tmp/data/Pixels/Dir-005/5454_pyramid
	at ome.io.nio.PixelsService.handleMissingPyramid(PixelsService.java:447)
	at ome.io.nio.PixelsService.getPixelBuffer(PixelsService.java:317)
	at ome.services.RenderingBean$14.doWork(RenderingBean.java:1819)
	at sun.reflect.GeneratedMethodAccessor233.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:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:439)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.security.basic.EventHandler.invoke(EventHandler.java:150)
	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:231)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy64.doWork(Unknown Source)
	at ome.services.util.Executor$Impl.execute(Executor.java:369)
	at ome.services.RenderingBean.getPixelBuffer(RenderingBean.java:1816)
	at ome.services.RenderingBean.load(RenderingBean.java:384)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	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:307)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150)
	at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:111)
	at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
	at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
	at $Proxy74.load(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	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: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:83)
	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 $Proxy74.load(Unknown Source)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
	at java.lang.reflect.Method.invoke(Method.java:597)
	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:136)
	at ome.services.blitz.impl.RenderingEngineI.load_async(RenderingEngineI.java:307)
	at omero.api._RenderingEngineTie.load_async(_RenderingEngineTie.java:246)
	at omero.api._RenderingEngineDisp.___load(_RenderingEngineDisp.java:726)
	at omero.api._RenderingEngineDisp.__dispatch(_RenderingEngineDisp.java:1654)
	at IceInternal.Incoming.invoke(Incoming.java:159)
	at Ice.ConnectionI.invokeAll(ConnectionI.java:2037)
	at Ice.ConnectionI.message(ConnectionI.java:972)
	at IceInternal.ThreadPool.run(ThreadPool.java:577)
	at IceInternal.ThreadPool.access$100(ThreadPool.java:12)
	at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:971)

    serverExceptionClass = ome.conditions.MissingPyramidException
    message = Missing pyramid:/tmp/data/Pixels/Dir-005/5454_pyramid
    backOff = 15000
    pixelsID = 5454
}
~/git/dist $ less var/log/PixelData-0.log 

...WAIT A BIT...

~/git/dist $ PYTHONPATH=$PYTHONPATH:lib/python python script.py 
Created rendering engine for: 5454
Resolution levels: 6
Resolution level: 5
Tile size: [240, 240]

comment:4 Changed 13 years ago by jmoore <josh@…>

  • Remaining Time changed from 0.5 to 0
  • Resolution set to fixed
  • Status changed from accepted to closed

(In [929c11f2241129bd818397a3e5830cf4a21d54f4/ome.git] on branch develop) Wrapping getPixelBuffer in and checking for executor call (Fix #5232)

comment:5 Changed 13 years ago by jmoore <josh@…>

(In [2451339e97f1283c6b4458a8a498f45d8154a654/ome.git] on branch develop) Loosening restriction on current event id (See #5232)

Since some threads will not be able to see the other transaction,
requiring the current event id is too strict.

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.73721 sec.)

We're Hiring!