Page 1 of 2

import issue of nds2 file

PostPosted: Thu Feb 21, 2013 11:56 am
by albot
Hi all,

From some of my colleagues, I heard that they have issues when importing nd2 files into OMERO 4.4.5.
Occasionally, it works fine but most of the cases they get the following error and the import fails:

Any idea what to do?

Best regards
Alex


>>
omero.ResourceError
serverStackTrace = "ome.conditions.ResourceError: Bad file descriptor
at ome.services.RawPixelsBean.handleException(RawPixelsBean.java:677)
at ome.services.RawPixelsBean.setTile(RawPixelsBean.java:794)
at sun.reflect.GeneratedMethodAccessor1090.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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 $Proxy97.setTile(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1090.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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 $Proxy97.setTile(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1099.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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:150)
at ome.services.blitz.impl.RawPixelsStoreI.setTile_async(RawPixelsStoreI.java:268)
at sun.reflect.GeneratedMethodAccessor1098.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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 $Proxy98.setTile_async(Unknown Source)
at omero.api._RawPixelsStoreTie.setTile_async(_RawPixelsStoreTie.java:318)
at omero.api._RawPixelsStoreDisp.___setTile(_RawPixelsStoreDisp.java:1149)
at omero.api._RawPixelsStoreDisp.__dispatch(_RawPixelsStoreDisp.java:1608)
at IceInternal.Incoming.invoke(Incoming.java:159)
at Ice.ConnectionI.invokeAll(ConnectionI.java:2357)
at Ice.ConnectionI.dispatch(ConnectionI.java:1208)
at Ice.ConnectionI.message(ConnectionI.java:1163)
at IceInternal.ThreadPool.run(ThreadPool.java:302)
at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:643)
at java.lang.Thread.run(Thread.java:722)
"
serverExceptionClass = "ome.conditions.ResourceError"
message = "Bad file descriptor"
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at IceInternal.BasicStream$DynamicUserExceptionFactory.createAndThrow(BasicStream.java:2142)
at IceInternal.BasicStream.throwException(BasicStream.java:1564)
at IceInternal.Outgoing.throwUserException(Outgoing.java:443)
at omero.api._RawPixelsStoreDelM.setTile(_RawPixelsStoreDelM.java:1783)
at omero.api.RawPixelsStorePrxHelper.setTile(RawPixelsStorePrxHelper.java:8077)
at omero.api.RawPixelsStorePrxHelper.setTile(RawPixelsStorePrxHelper.java:8033)
at ome.formats.OMEROMetadataStoreClient.setTile(OMEROMetadataStoreClient.java:2502)
at ome.formats.importer.ImportLibrary.writeDataTileBased(ImportLibrary.java:889)
at ome.formats.importer.ImportLibrary.importData(ImportLibrary.java:801)
at ome.formats.importer.ImportLibrary.importImage(ImportLibrary.java:577)
at org.openmicroscopy.shoola.env.data.OMEROGateway.importImage(OMEROGateway.java:6443)
at org.openmicroscopy.shoola.env.data.OmeroImageServiceImpl.importFile(OmeroImageServiceImpl.java:1250)
at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter.importFile(ImagesImporter.java:85)
at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter.access$000(ImagesImporter.java:54)
at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter$1.doCall(ImagesImporter.java:110)
at org.openmicroscopy.shoola.env.data.views.BatchCall.doStep(BatchCall.java:144)
at org.openmicroscopy.shoola.util.concur.tasks.CompositeTask.doStep(CompositeTask.java:226)
at org.openmicroscopy.shoola.env.data.views.CompositeBatchCall.doStep(CompositeBatchCall.java:126)
at org.openmicroscopy.shoola.util.concur.tasks.ExecCommand.exec(ExecCommand.java:165)
at org.openmicroscopy.shoola.util.concur.tasks.ExecCommand.run(ExecCommand.java:276)
at org.openmicroscopy.shoola.util.concur.tasks.AsyncProcessor$Runner.run(AsyncProcessor.java:91)
at java.lang.Thread.run(Unknown Source)

at org.openmicroscopy.shoola.env.data.OMEROGateway.importImage(OMEROGateway.java:6492)
at org.openmicroscopy.shoola.env.data.OmeroImageServiceImpl.importFile(OmeroImageServiceImpl.java:1250)
at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter.importFile(ImagesImporter.java:85)
at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter.access$000(ImagesImporter.java:54)
at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter$1.doCall(ImagesImporter.java:110)
at org.openmicroscopy.shoola.env.data.views.BatchCall.doStep(BatchCall.java:144)
at org.openmicroscopy.shoola.util.concur.tasks.CompositeTask.doStep(CompositeTask.java:226)
at org.openmicroscopy.shoola.env.data.views.CompositeBatchCall.doStep(CompositeBatchCall.java:126)
at org.openmicroscopy.shoola.util.concur.tasks.ExecCommand.exec(ExecCommand.java:165)
at org.openmicroscopy.shoola.util.concur.tasks.ExecCommand.run(ExecCommand.java:276)
at org.openmicroscopy.shoola.util.concur.tasks.AsyncProcessor$Runner.run(AsyncProcessor.java:91)
at java.lang.Thread.run(Unknown Source)
Caused by: omero.ResourceError
serverStackTrace = "ome.conditions.ResourceError: Bad file descriptor
at ome.services.RawPixelsBean.handleException(RawPixelsBean.java:677)
at ome.services.RawPixelsBean.setTile(RawPixelsBean.java:794)
at sun.reflect.GeneratedMethodAccessor1090.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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 $Proxy97.setTile(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1090.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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 $Proxy97.setTile(Unknown Source)
at sun.reflect.GeneratedMethodAccessor1099.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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:150)
at ome.services.blitz.impl.RawPixelsStoreI.setTile_async(RawPixelsStoreI.java:268)
at sun.reflect.GeneratedMethodAccessor1098.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
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 $Proxy98.setTile_async(Unknown Source)
at omero.api._RawPixelsStoreTie.setTile_async(_RawPixelsStoreTie.java:318)
at omero.api._RawPixelsStoreDisp.___setTile(_RawPixelsStoreDisp.java:1149)
at omero.api._RawPixelsStoreDisp.__dispatch(_RawPixelsStoreDisp.java:1608)
at IceInternal.Incoming.invoke(Incoming.java:159)
at Ice.ConnectionI.invokeAll(ConnectionI.java:2357)
at Ice.ConnectionI.dispatch(ConnectionI.java:1208)
at Ice.ConnectionI.message(ConnectionI.java:1163)
at IceInternal.ThreadPool.run(ThreadPool.java:302)
at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:643)
at java.lang.Thread.run(Thread.java:722)
"
serverExceptionClass = "ome.conditions.ResourceError"
message = "Bad file descriptor"
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at java.lang.Class.newInstance0(Unknown Source)
at java.lang.Class.newInstance(Unknown Source)
at IceInternal.BasicStream$DynamicUserExceptionFactory.createAndThrow(BasicStream.java:2142)
at IceInternal.BasicStream.throwException(BasicStream.java:1564)
at IceInternal.Outgoing.throwUserException(Outgoing.java:443)
at omero.api._RawPixelsStoreDelM.setTile(_RawPixelsStoreDelM.java:1783)
at omero.api.RawPixelsStorePrxHelper.setTile(RawPixelsStorePrxHelper.java:8077)
at omero.api.RawPixelsStorePrxHelper.setTile(RawPixelsStorePrxHelper.java:8033)
at ome.formats.OMEROMetadataStoreClient.setTile(OMEROMetadataStoreClient.java:2502)
at ome.formats.importer.ImportLibrary.writeDataTileBased(ImportLibrary.java:889)
at ome.formats.importer.ImportLibrary.importData(ImportLibrary.java:801)
at ome.formats.importer.ImportLibrary.importImage(ImportLibrary.java:577)
at org.openmicroscopy.shoola.env.data.OMEROGateway.importImage(OMEROGateway.java:6443)
... 11 more

Re: import issue of nds2 file

PostPosted: Fri Feb 22, 2013 10:16 am
by pwalczysko
Hello Alex,

Thank you very much for your feedback.
Could you please give us server log files so that we can investigate the problem ?
You can attach them to your post here (if possible, create a zip file of the whole log folder).
In case this should turn out to be problematic, please let me know and we can communicate further by e-mail.


Thank you
All the best
Petr
OME-TEAM

Re: import issue of nds2 file

PostPosted: Fri Feb 22, 2013 5:57 pm
by mlinkert
We have had other reports of similar problems, and in most cases the issue is that OMERO's binary repository is installed on a network file system. As noted here:

https://www.openmicroscopy.org/site/sup ... ote-shares

it is recommended to use a local file system for the binary repository.

Re: import issue of nds2 file

PostPosted: Fri Mar 08, 2013 6:00 am
by albot
Hi all,

Thanks for the hint Melissa.
My colleague made an extract of the server log:

Does this look like the NFS problem or anything else?

Thanks for your feedback.

Best regards Alex

2013-02-21 11:29:20,004 INFO [ ome.security.basic.EventHandler] (erver-2199) Auth: user=105,group=105,event=null(User),sess=5031bb25-8703-47bb-ac56-d19792bf4cc4 2013-02-21 11:29:20,006 INFO [ ome.io.nio.PixelsService] (erver-2199) Using Pyramid BfPixelBuffer: /home/ict/apps/OMERO/OMERO.data/Pixels/Dir-007/7545_pyramid 2013-02-21 11:29:20,120 INFO [ loci.formats.in.MinimalTiffReader] (erver-2199) Reading IFDs 2013-02-21 11:29:20,120 ERROR [ ome.io.bioformats.BfPixelBuffer] (erver-2199) Failed to instantiate BfPixelsWrapper with /home/ict/apps/OMERO/OMERO.data/Pixels/Dir-007/7545_pyramid 2013-02-21 11:29:20,120 ERROR [ ome.io.nio.PixelsService] (erver-2199) Error instantiating pixel buffer: /home/ict/apps/OMERO/OMERO.data/Pixels/Dir-007/7545_pyramid

Re: import issue of nds2 file

PostPosted: Fri Mar 08, 2013 3:10 pm
by jmoore
Hi Alex,

do you have any more of this log?

Thanks,
~Josh

Re: import issue of nds2 file

PostPosted: Mon Mar 11, 2013 10:26 am
by rleigh
Hi Alex,

In addition to sending the logfiles, could you let us know if all these failures occur with the same files, or different ones each time? i.e. if you repeat the import, is it the same files which fail to import? Would it be possible to upload some of the failing files to http://qa.openmicroscopy.org.uk/qa/upload/ so that we can see if this is reproducible?


Thanks,
Roger Leigh

Re: import issue of nds2 file

PostPosted: Mon Mar 11, 2013 11:15 am
by albot
Hi Josh,

Please find attached the zip file - I hope that there is enough information in it.

Best regards
Alex

Re: import issue of nds2 file

PostPosted: Mon Mar 11, 2013 11:22 am
by albot
Hi Roger,

A nd2 file has been uploaded to the qa page. If I am not mistaken in most cases, these nd2 files give problems on import using our OMERO 4.4.5 system.

In order to rule out that it is related to an eventual issue with NFS-based systems, we are looking forward to your tests results.

Best regards
Alex

Re: import issue of nds2 file

PostPosted: Mon Mar 11, 2013 12:58 pm
by rleigh
Hi Alex,

Using your uploaded file, I have imported it using 4.4.6 and our latest dev_4_4 and develop branches. In all cases the image imports successfully, and it is viewable at all zoom levels. This would suggest that there isn't a problem with the file or the ND2 format reader, so the use of NFS could be the issue here. It might be worth updating to 4.4.6 in case this is something which has been addressed since 4.4.5.


Regards,
Roger

Re: import issue of nds2 file

PostPosted: Fri Mar 15, 2013 3:00 pm
by albot
Hi Roger,

My colleague from IT and myself sat together to have a closer look at the import problems with these specific nd2 files.

One thing which surprised us was the speed of the import. When the import is successful, it took about 10 min to import the 50 MB nd2 file (4 channels, highest resolution) compared to another nd2 file (lower resolution, one channel, but z-stacks) with only 25 MB which only took 2 sec.

Do you by coincidence still have an idea on the import speed (on your system) of the nd2 file (50 MB) you have received from us?
Is it possible to share the basic specs of your machine with us in case the import speed is signifiantly better than 10 min?

My colleague from IT is also investigating on the potential issues with CIFS mounting and coming back to me next week. But on first sight, file locking seems fine on our system.

Thanks again for your feedback.

Best regards,
Alex