Page 1 of 1

Error using matlab parfor

PostPosted: Thu Jul 31, 2014 9:39 am
by achessel
Hi all,

I seem to run into an issue when I run some of my matlab code in parallel (using the matlab parfor). While it works without issues when run sequentially, if I try to run the same code in parallel I get the following error. As far as omero is concern, I only try and download data, using the 'getHypercube' method. Too many too concurrent access? That's only 6 workers though. Any help appreciated (still on omero 4)

Many thanks
A.

Code: Select all
Error using PombeCells.getCrop (line 2044)
Java exception occurred:
omero.ResourceError
    serverStackTrace = "ome.conditions.ResourceError: Map failed

                           at ome.services.RawPixelsBean.handleException(RawPixelsBean.java:678)

                           at ome.services.RawPixelsBean.getHypercube(RawPixelsBean.java:354)

                           at sun.reflect.GeneratedMethodAccessor1836.invoke(Unknown Source)

                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                           at java.lang.reflect.Method.invoke(Unknown Source)

                           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 ome.tools.hibernate.SessionHandler.doStateful(SessionHandler.java:182)

                           at ome.tools.hibernate.SessionHandler.invoke(SessionHandler.java:166)

                           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:241)
                               
                           at
                                org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                               
                           at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:116)

                           at
                                org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                               
                           at
                                org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
                               
                           at com.sun.proxy.$Proxy90.getHypercube(Unknown Source)

                           at sun.reflect.GeneratedMethodAccessor1836.invoke(Unknown Source)

                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                           at java.lang.reflect.Method.invoke(Unknown Source)

                           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.$Proxy90.getHypercube(Unknown Source)

                           at sun.reflect.GeneratedMethodAccessor1838.invoke(Unknown Source)

                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                           at java.lang.reflect.Method.invoke(Unknown Source)

                           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.RawPixelsStoreI.getHypercube_async(RawPixelsStoreI.java:108)
                               
                           at sun.reflect.GeneratedMethodAccessor1837.invoke(Unknown Source)

                           at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                           at java.lang.reflect.Method.invoke(Unknown Source)

                           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:59)

                           at
                                org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                               
                           at
                                org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
                               
                           at com.sun.proxy.$Proxy91.getHypercube_async(Unknown Source)

                           at
                                omero.api._RawPixelsStoreTie.getHypercube_async(_RawPixelsStoreTie.java:120)
                               
                           at
                                omero.api._RawPixelsStoreDisp.___getHypercube(_RawPixelsStoreDisp.java:652)
                               
                           at
                                omero.api._RawPixelsStoreDisp.__dispatch(_RawPixelsStoreDisp.java:1173)

                           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.ResourceError"
    message = "Map failed"
   at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
   at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
   at
        sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
           at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
   at java.lang.Class.newInstance0(Class.java:372)
   at java.lang.Class.newInstance(Class.java:325)
   at IceInternal.BasicStream.createUserException(BasicStream.java:2608)
   at IceInternal.BasicStream.access$300(BasicStream.java:12)
   at IceInternal.BasicStream$EncapsDecoder10.throwException(BasicStream.java:3092)
   at IceInternal.BasicStream.throwException(BasicStream.java:2070)
   at IceInternal.Outgoing.throwUserException(Outgoing.java:538)
   at omero.api._RawPixelsStoreDelM.getHypercube(_RawPixelsStoreDelM.java:421)
   at omero.api.RawPixelsStorePrxHelper.getHypercube(RawPixelsStorePrxHelper.java:1948)
   at omero.api.RawPixelsStorePrxHelper.getHypercube(RawPixelsStorePrxHelper.java:1912)

Error in PombeCells/loadFromNeo4JCI (line 312)
                        PC.PicGreen=PombeCells.getCrop(pixID,BB,chanOrder(1),0,zsize,factory,0,'avg');

Error in PombeCells/loadFromNeo4JQ (line 396)
            PCs = loadFromNeo4JCI(PCs,cellInfo,factory,chanOrder,swapxy,Seg);

Error in computeFeatures (line 50)
    PCs=loadFromNeo4JQ(PCs,NM,factory,Q,chanOrder,swapxy,Seg);

Caused by:
    Error using PombeCells.getCrop (line 2044)
    Java exception occurred:
    omero.ResourceError
        serverStackTrace = "ome.conditions.ResourceError: Map failed

                               at ome.services.RawPixelsBean.handleException(RawPixelsBean.java:678)

                               at ome.services.RawPixelsBean.getHypercube(RawPixelsBean.java:354)

                               at sun.reflect.GeneratedMethodAccessor1836.invoke(Unknown Source)

                               at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                               at java.lang.reflect.Method.invoke(Unknown Source)

                               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 ome.tools.hibernate.SessionHandler.doStateful(SessionHandler.java:182)

                               at ome.tools.hibernate.SessionHandler.invoke(SessionHandler.java:166)

                               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:241)
                               
                               at
                                org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                               
                               at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:116)

                               at
                                org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                               
                               at
                                org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
                               
                               at com.sun.proxy.$Proxy90.getHypercube(Unknown Source)

                               at sun.reflect.GeneratedMethodAccessor1836.invoke(Unknown Source)

                               at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                               at java.lang.reflect.Method.invoke(Unknown Source)

                               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.$Proxy90.getHypercube(Unknown Source)

                               at sun.reflect.GeneratedMethodAccessor1838.invoke(Unknown Source)

                               at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                               at java.lang.reflect.Method.invoke(Unknown Source)

                               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.RawPixelsStoreI.getHypercube_async(RawPixelsStoreI.java:108)
                               
                               at sun.reflect.GeneratedMethodAccessor1837.invoke(Unknown Source)

                               at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)

                               at java.lang.reflect.Method.invoke(Unknown Source)

                               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:59)

                               at
                                org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172)
                               
                               at
                                org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202)
                               
                               at com.sun.proxy.$Proxy91.getHypercube_async(Unknown Source)

                               at
                                omero.api._RawPixelsStoreTie.getHypercube_async(_RawPixelsStoreTie.java:120)
                               
                               at
                                omero.api._RawPixelsStoreDisp.___getHypercube(_RawPixelsStoreDisp.java:652)
                               
                               at
                                omero.api._RawPixelsStoreDisp.__dispatch(_RawPixelsStoreDisp.java:1173)

                               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.ResourceError"
        message = "Map failed"
       at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
       at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
       at
        sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
               at java.lang.reflect.Constructor.newInstance(Constructor.java:525)
       at java.lang.Class.newInstance0(Class.java:372)
       at java.lang.Class.newInstance(Class.java:325)
       at IceInternal.BasicStream.createUserException(BasicStream.java:2608)
       at IceInternal.BasicStream.access$300(BasicStream.java:12)
       at IceInternal.BasicStream$EncapsDecoder10.throwException(BasicStream.java:3092)
       at IceInternal.BasicStream.throwException(BasicStream.java:2070)
       at IceInternal.Outgoing.throwUserException(Outgoing.java:538)
       at omero.api._RawPixelsStoreDelM.getHypercube(_RawPixelsStoreDelM.java:421)
       at omero.api.RawPixelsStorePrxHelper.getHypercube(RawPixelsStorePrxHelper.java:1948)
       at omero.api.RawPixelsStorePrxHelper.getHypercube(RawPixelsStorePrxHelper.java:1912)

Re: Error using matlab parfor

PostPosted: Fri Aug 01, 2014 10:16 am
by sbesson
Hi Anatole,

in the most general case, this service is not designed for parallel access. Does the `too many too concurrent access` message belong to a stack strace? If so, do you have a more complete exception? Alternatively, do you have access to the server logs corresponding to your error?

Sebastien