Task #5232 (closed)
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 8 years ago by cxallan
- Description modified (diff)
- Owner set to jmoore
comment:2 Changed 8 years ago by jmoore
- Remaining Time set to 0.5
- Status changed from new to accepted
comment:3 Changed 8 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 8 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 8 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.
Test code:
print 'Creating rendering engine for Pixels:%d...' % pixels_id o = session.createRenderingEngine() o.lookupPixels(pixels_id) o.lookupRenderingDef(pixels_id) o.load()