ome / ZarrReader

Other
5 stars 8 forks source link

blosc problem on import of ome.zarr into OMERO #76

Open pwalczysko opened 6 months ago

pwalczysko commented 6 months ago

On 2 of our servers, we got an error on trying to import ome.zarr into OMERO.

  1. server version 5.6.8 and 5.6.10 tested, same result M1 aarch64 docker image BioFormats 6.11.1 revision: 383bac974cd52e83908b54e4769ebb1e0d0673ee date: 1 December 2022

omero import --depth=10 18188.zarr
....
2024-01-23 13:50:08,928 5965       [l.Client-0] ERROR     ome.formats.importer.cli.ErrorHandler - INTERNAL_EXCEPTION: /Users/pwalczysko/Work/18188.zarr/0/0/0
java.lang.RuntimeException: Failure response on import!
Category: ::omero::grid::ImportRequest
Name: import-request-failure
Parameters: {stacktrace=java.lang.UnsatisfiedLinkError: Unable to load library 'blosc': Native library (linux-aarch64/libblosc.so) not found in resource path 
...

Edit: This problem got fixed by installing blosc into the docker. Tested two docker images, one built locally and one built by @khaledk2 and pushed to Dockerhub, khaledk2/omero-server:arm. Both of those tests had the same outcome:

Full error in

``` omero import --depth=10 18188.zarr ... 2024-01-23 13:50:08,928 5965 [l.Client-0] ERROR ome.formats.importer.cli.ErrorHandler - INTERNAL_EXCEPTION: /Users/pwalczysko/Work/18188.zarr/0/0/0 java.lang.RuntimeException: Failure response on import! Category: ::omero::grid::ImportRequest Name: import-request-failure Parameters: {stacktrace=java.lang.UnsatisfiedLinkError: Unable to load library 'blosc': Native library (linux-aarch64/libblosc.so) not found in resource path (lib/server/commons-collections4.jar:lib/server/objenesis.jar:lib/server/jgoodies-forms.jar:lib/server/omero-gateway.jar:lib/server/aircompressor.jar:lib/server/serializer.jar:lib/server/commons-lang.jar:lib/server/spring-context-support.jar:lib/server/omero-romio.jar:lib/server/spring-context.jar:lib/server/metrics-jvm.jar:lib/server/batik-gvt.jar:lib/server/lucene-core.jar:lib/server/sketches-core.jar:lib/server/turbojpeg.jar:lib/server/jackson-databind.jar:lib/server/omero-common.jar:lib/server/lucene-spellchecker.jar:lib/server/jblosc.jar:lib/server/metrics-graphite.jar:lib/server/calcite-linq4j.jar:lib/server/icegrid.jar:lib/server/jgoodies-common.jar:lib/server/hibernate-commons-annotations.jar:lib/server/xalan.jar:lib/server/rhino.jar:lib/server/metadata-extractor.jar:lib/server/udunits.jar:lib/server/jzarr.jar:lib/server/ehcache.jar:lib/server/commons-io.jar:lib/server/spring-messaging.jar:lib/server/batik-svg-dom.jar:lib/server/snakeyaml.jar:lib/server/spring-security-core.jar:lib/server/jackson-dataformat-yaml.jar:lib/server/metakit.jar:lib/server/fontbox.jar:lib/server/httpcore.jar:lib/server/batik-slideshow.jar:lib/server/xmpcore.jar:lib/server/lucene-highlighter.jar:lib/server/base.jar:lib/server/google-http-client-xml.jar:lib/server/minio.jar:lib/server/spring-expression.jar:lib/server/activation.jar:lib/server/lucene-memory.jar:lib/server/batik-anim.jar:lib/server/re2j.jar:lib/server/omero-server.jar:lib/server/jackson-annotations.jar:lib/server/spring-orm.jar:lib/server/commons-codec.jar:lib/server/json-path.jar:lib/server/quartz.jar:lib/server/lucene-spatial.jar:lib/server/batik-constants.jar:lib/server/metrics-logback.jar:lib/server/jhdf5.jar:lib/server/batik-codec.jar:lib/server/java-image-scaling.jar:lib/server/formats-bsd.jar:lib/server/specification.jar:lib/server/xmlgraphics-commons.jar:lib/server/btm.jar:lib/server/xml-apis.jar:lib/server/batik-css.jar:lib/server/javassist.jar:lib/server/xercesImpl.jar:lib/server/solr-core.jar:lib/server/httpmime.jar:lib/server/jul-to-slf4j.jar:lib/server/batik-script.jar:lib/server/jcip-annotations.jar:lib/server/metrics-core.jar:lib/server/batik-rasterizer-ext.jar:lib/server/perf4j.jar:lib/server/javax.mail.jar:lib/server/annotations.jar:lib/server/batik-rasterizer.jar:lib/server/java-getopt.jar:lib/server/memory.jar:lib/server/ome-codecs.jar:lib/server/xpp3.jar:lib/server/reflectasm.jar:lib/server/lucene-stempel.jar:lib/server/jython.jar:lib/server/hibernate-core.jar:lib/server/batik-ext.jar:lib/server/okio.jar:lib/server/batik-all.jar:lib/server/batik-gui-util.jar:lib/server/OMEZarrReader.jar:lib/server/kryo.jar:lib/server/solr-commons-csv.jar:lib/server/batik-swing.jar:lib/server/ome-jai.jar:lib/server/spring-beans.jar:lib/server/hibernate-search-analyzers.jar:lib/server/spring-jdbc.jar:lib/server/okhttp.jar:lib/server/logback-core.jar:lib/server/batik-ttf2svg.jar:lib/server/lucene-misc.jar:lib/server/json.jar:lib/server/ome-mdbtools.jar:lib/server/ome-common.jar:lib/server/avatica-core.jar:lib/server/avatica-metrics.jar:lib/server/error_prone_annotations.jar:lib/server/junit.jar:lib/server/calcite-core.jar:lib/server/checker-qual.jar:lib/server/glacier2.jar:lib/server/spring-core.jar:lib/server/lucene-smartcn.jar:lib/server/minlog.jar:lib/server/slf4j-api.jar:lib/server/subethasmtp.jar:lib/server/formats-api.jar:lib/server/jxrlib-all.jar:lib/server/httpclient.jar:lib/server/c3p0.jar:lib/server/commons-lang3.jar:lib/server/lucene-analyzers.jar:lib/server/solr-analysis-extras.jar:lib/server/batik-svgrasterizer.jar:lib/server/hazelcast-all.jar:lib/server/listenablefuture.jar:lib/server/batik-dom.jar:lib/server/cdm-core.jar:lib/server/commons-logging.jar:lib/server/batik-awt-util.jar:lib/server/spring-tx.jar:lib/server/icestorm.jar:lib/server/commons-collections.jar:lib/server/bufr.jar:lib/server/antlr.jar:lib/server/spring-ldap-core.jar:lib/server/omero-renderer.jar:lib/server/sqlite-jdbc.jar:lib/server/failureaccess.jar:lib/server/native-lib-loader.jar:lib/server/hamcrest-core.jar:lib/server/hibernate-search.jar:lib/server/jta.jar:lib/server/dom4j.jar:lib/server/spring-aop.jar:lib/server/google-http-client.jar:lib/server/batik-util.jar:lib/server/batik-svgpp.jar:lib/server/formats-gpl.jar:lib/server/commons-compiler.jar:lib/server/janino.jar:lib/server/pdfbox.jar:lib/server/protobuf-java.jar:lib/server/commons-beanutils.jar:lib/server/batik-transcoder.jar:lib/server/jackson-core.jar:lib/server/batik-svgbrowser.jar:lib/server/hibernate-jpa-2.0-api.jar:lib/server/ini4j.jar:lib/server/omero-model.jar:lib/server/ome-poi.jar:lib/server/filters.jar:lib/server/batik-i18n.jar:lib/server/batik-squiggle.jar:lib/server/esri-geometry-api.jar:lib/server/javax.activation.jar:lib/server/batik-parser.jar:lib/server/spring-jms.jar:lib/server/aopalliance.jar:lib/server/xml-apis-ext.jar:lib/server/spring-security-ldap.jar:lib/server/batik-squiggle-ext.jar:lib/server/batik-svggen.jar:lib/server/jna.jar:lib/server/guava.jar:lib/server/httpservices.jar:lib/server/joda-time.jar:lib/server/postgresql.jar:lib/server/batik-xml.jar:lib/server/commons-dbcp2.jar:lib/server/commons-pool2.jar:lib/server/j2objc-annotations.jar:lib/server/batik-bridge.jar:lib/server/logback-classic.jar:lib/server/aggdesigner-algorithm.jar:lib/server/jamon.jar:lib/server/jcl-over-slf4j.jar:lib/server/JWlz.jar:lib/server/omero-blitz.jar:lib/server/ome-xml.jar:lib/server/batik-extension.jar:lib/server/ice.jar:lib/server/solr-solrj.jar:etc/::*:%OMERO_PROFILE%::%OMERO_PROFILE%*) at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:277) at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:403) at com.sun.jna.Native.register(Native.java:1529) at com.sun.jna.Native.register(Native.java:1252) at org.blosc.IBloscDll.(IBloscDll.java:15) at com.bc.zarr.CompressorFactory$BloscCompressor.cbufferSizes(CompressorFactory.java:352) at com.bc.zarr.CompressorFactory$BloscCompressor.uncompress(CompressorFactory.java:338) at com.bc.zarr.chunk.ChunkReaderWriterImpl_Byte.read(ChunkReaderWriterImpl_Byte.java:50) at com.bc.zarr.ZarrArray.read(ZarrArray.java:278) at com.bc.zarr.ZarrArray.read(ZarrArray.java:255) at loci.formats.services.JZarrServiceImpl.readBytes(JZarrServiceImpl.java:266) at loci.formats.in.ZarrReader.openBytes(ZarrReader.java:362) at loci.formats.ImageReader.openBytes(ImageReader.java:465) at loci.formats.ChannelFiller.openBytes(ChannelFiller.java:167) at loci.formats.ChannelSeparator.openBytes(ChannelSeparator.java:229) at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:348) at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:348) at loci.formats.MinMaxCalculator.openBytes(MinMaxCalculator.java:269) at ome.services.blitz.repo.ManagedImportRequestI.parseDataByPlane(ManagedImportRequestI.java:872) at ome.services.blitz.repo.ManagedImportRequestI.parseData(ManagedImportRequestI.java:803) at ome.services.blitz.repo.ManagedImportRequestI.pixelData(ManagedImportRequestI.java:676) at ome.services.blitz.repo.ManagedImportRequestI.step(ManagedImportRequestI.java:525) at omero.cmd.HandleI.steps(HandleI.java:448) at omero.cmd.HandleI$RunSteps.innerWork(HandleI.java:509) at omero.cmd.HandleI$2.doWork(HandleI.java:383) at omero.cmd.HandleI$2.doWork(HandleI.java:380) at jdk.internal.reflect.GeneratedMethodAccessor299.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:568) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at ome.security.basic.EventHandler.invoke(EventHandler.java:154) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) at com.sun.proxy.$Proxy73.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:447) at omero.cmd.HandleI.run(HandleI.java:379) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at ome.services.util.Executor$Impl$1.call(Executor.java:488) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) ```

2. merge-ci server 5.6.10 CentOS 7 docker BioFormats 6.11.1 revision: 383bac974cd52e83908b54e4769ebb1e0d0673ee date: 1 December 2022

024-01-23 13:55:50,055 5609 [l.Client-0] ERROR ome.formats.importer.cli.ErrorHandler - INTERNAL_EXCEPTION: /Users/pwalczysko/Work/18188.zarr/0/0/0 java.lang.RuntimeException: Failure response on import! Category: ::omero::grid::ImportRequest Name: import-request-failure Parameters: {stacktrace=java.lang.NoClassDefFoundError: Could not initialize class org.blosc.IBloscDll at com.bc.zarr.CompressorFactory$BloscCompressor.cbufferSizes(CompressorFactory.java:371)

Edit: This problem got fixed by installation of blosc inside the docker which runs the merge-ci server. After that, the import of ome.zarr is working on this server.

full stacktrace in

``` omero import --depth=10 18188.zarr 2024-01-23 13:55:50,055 5609 [l.Client-0] ERROR ome.formats.importer.cli.ErrorHandler - INTERNAL_EXCEPTION: /Users/pwalczysko/Work/18188.zarr/0/0/0 java.lang.RuntimeException: Failure response on import! Category: ::omero::grid::ImportRequest Name: import-request-failure Parameters: {stacktrace=java.lang.NoClassDefFoundError: Could not initialize class org.blosc.IBloscDll at com.bc.zarr.CompressorFactory$BloscCompressor.cbufferSizes(CompressorFactory.java:371) at com.bc.zarr.CompressorFactory$BloscCompressor.uncompress(CompressorFactory.java:357) at com.bc.zarr.chunk.ChunkReaderWriterImpl_Byte.read(ChunkReaderWriterImpl_Byte.java:50) at com.bc.zarr.ZarrArray.read(ZarrArray.java:282) at com.bc.zarr.ZarrArray.read(ZarrArray.java:259) at loci.formats.services.JZarrServiceImpl.readBytes(JZarrServiceImpl.java:266) at loci.formats.in.ZarrReader.openBytes(ZarrReader.java:491) at loci.formats.ImageReader.openBytes(ImageReader.java:467) at loci.formats.ChannelFiller.openBytes(ChannelFiller.java:169) at loci.formats.ChannelSeparator.openBytes(ChannelSeparator.java:231) at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:350) at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:350) at loci.formats.MinMaxCalculator.openBytes(MinMaxCalculator.java:269) at ome.services.blitz.repo.ManagedImportRequestI.parseDataByPlane(ManagedImportRequestI.java:872) at ome.services.blitz.repo.ManagedImportRequestI.parseData(ManagedImportRequestI.java:803) at ome.services.blitz.repo.ManagedImportRequestI.pixelData(ManagedImportRequestI.java:676) at ome.services.blitz.repo.ManagedImportRequestI.step(ManagedImportRequestI.java:525) at omero.cmd.HandleI.steps(HandleI.java:448) at omero.cmd.HandleI$RunSteps.innerWork(HandleI.java:509) at omero.cmd.HandleI$2.doWork(HandleI.java:383) at omero.cmd.HandleI$2.doWork(HandleI.java:380) at jdk.internal.reflect.GeneratedMethodAccessor293.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:568) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at ome.security.basic.EventHandler.invoke(EventHandler.java:154) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) at com.sun.proxy.$Proxy81.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:447) at omero.cmd.HandleI.run(HandleI.java:379) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at ome.services.util.Executor$Impl$1.call(Executor.java:488) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) , message=Could not initialize class org.blosc.IBloscDll} at ome.formats.importer.ImportLibrary$ImportCallback.onFinished(ImportLibrary.java:807) at omero.cmd.CmdCallbackI.finished(CmdCallbackI.java:334) at omero.cmd._CmdCallbackDisp.___finished(_CmdCallbackDisp.java:118) at omero.cmd._CmdCallbackDisp.__dispatch(_CmdCallbackDisp.java:145) at IceInternal.Incoming.invoke(Incoming.java:221) at Ice.ConnectionI.invokeAll(ConnectionI.java:2536) at Ice.ConnectionI.dispatch(ConnectionI.java:1145) at Ice.ConnectionI.message(ConnectionI.java:1056) at IceInternal.ThreadPool.run(ThreadPool.java:395) at IceInternal.ThreadPool.access$300(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832) at java.base/java.lang.Thread.run(Thread.java:829) java.lang.RuntimeException: Failure response on import! Category: ::omero::grid::ImportRequest Name: import-request-failure Parameters: {stacktrace=java.lang.NoClassDefFoundError: Could not initialize class org.blosc.IBloscDll at com.bc.zarr.CompressorFactory$BloscCompressor.cbufferSizes(CompressorFactory.java:371) at com.bc.zarr.CompressorFactory$BloscCompressor.uncompress(CompressorFactory.java:357) at com.bc.zarr.chunk.ChunkReaderWriterImpl_Byte.read(ChunkReaderWriterImpl_Byte.java:50) at com.bc.zarr.ZarrArray.read(ZarrArray.java:282) at com.bc.zarr.ZarrArray.read(ZarrArray.java:259) at loci.formats.services.JZarrServiceImpl.readBytes(JZarrServiceImpl.java:266) at loci.formats.in.ZarrReader.openBytes(ZarrReader.java:491) at loci.formats.ImageReader.openBytes(ImageReader.java:467) at loci.formats.ChannelFiller.openBytes(ChannelFiller.java:169) at loci.formats.ChannelSeparator.openBytes(ChannelSeparator.java:231) at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:350) at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:350) at loci.formats.MinMaxCalculator.openBytes(MinMaxCalculator.java:269) at ome.services.blitz.repo.ManagedImportRequestI.parseDataByPlane(ManagedImportRequestI.java:872) at ome.services.blitz.repo.ManagedImportRequestI.parseData(ManagedImportRequestI.java:803) at ome.services.blitz.repo.ManagedImportRequestI.pixelData(ManagedImportRequestI.java:676) at ome.services.blitz.repo.ManagedImportRequestI.step(ManagedImportRequestI.java:525) at omero.cmd.HandleI.steps(HandleI.java:448) at omero.cmd.HandleI$RunSteps.innerWork(HandleI.java:509) at omero.cmd.HandleI$2.doWork(HandleI.java:383) at omero.cmd.HandleI$2.doWork(HandleI.java:380) at jdk.internal.reflect.GeneratedMethodAccessor293.invoke(Unknown Source) at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.base/java.lang.reflect.Method.invoke(Method.java:566) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157) at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:568) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at ome.security.basic.EventHandler.invoke(EventHandler.java:154) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99) at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282) at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213) at com.sun.proxy.$Proxy81.doWork(Unknown Source) at ome.services.util.Executor$Impl.execute(Executor.java:447) at omero.cmd.HandleI.run(HandleI.java:379) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at ome.services.util.Executor$Impl$1.call(Executor.java:488) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) , message=Could not initialize class org.blosc.IBloscDll} at ome.formats.importer.ImportLibrary$ImportCallback.onFinished(ImportLibrary.java:807) at omero.cmd.CmdCallbackI.finished(CmdCallbackI.java:334) at omero.cmd._CmdCallbackDisp.___finished(_CmdCallbackDisp.java:118) at omero.cmd._CmdCallbackDisp.__dispatch(_CmdCallbackDisp.java:145) at IceInternal.Incoming.invoke(Incoming.java:221) at Ice.ConnectionI.invokeAll(ConnectionI.java:2536) at Ice.ConnectionI.dispatch(ConnectionI.java:1145) at Ice.ConnectionI.message(ConnectionI.java:1056) at IceInternal.ThreadPool.run(ThreadPool.java:395) at IceInternal.ThreadPool.access$300(ThreadPool.java:12) at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832) at java.base/java.lang.Thread.run(Thread.java:829) 2024-01-23 13:55:50,065 5619 [2-thread-1] ERROR ome.formats.importer.ImportLibrary - Error on import java.lang.Exception: Import failure at ome.formats.importer.ImportLibrary.importImage(ImportLibrary.java:701) at ome.formats.importer.ImportLibrary$1.call(ImportLibrary.java:354) at ome.formats.importer.ImportLibrary$1.call(ImportLibrary.java:328) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:829) 2024-01-23 13:55:50,065 5619 [2-thread-1] INFO ome.formats.importer.ImportLibrary - Exiting on error ```
pwalczysko commented 6 months ago

cc @jburel @sbesson @will-moore

pwalczysko commented 6 months ago

The corresponding error from the Blitz-0.log is

...
2024-01-23 15:38:24,725 INFO  [         ome.security.basic.EventHandler] (.Server-10)  Auth:    user=0,group=0,event=null(User),sess=49050db0-d57a-43e3-b2e1-0f8439dc10ac
2024-01-23 15:38:24,731 INFO  [                 org.perf4j.TimingLogger] (.Server-10) start[1706024304723] time[7] tag[omero.call.success.ome.logic.MetadataImpl.loadLogFiles]
2024-01-23 15:38:24,731 INFO  [        ome.services.util.ServiceHandler] (.Server-10)  Rslt:    {52=(ome.model.core.OriginalFile:Id_343)}
2024-01-23 15:38:24,737 DEBUG [                   loci.formats.Memoizer] (2-thread-4) saved to temp file: /OMERO/BioFormatsCache/OMERO/ManagedRepository/root_0/2024-01/23/15-38-23.609/18188.zarr/0/0/.0.bfmemo3665809805424360812
2024-01-23 15:38:24,737 DEBUG [                   loci.formats.Memoizer] (2-thread-4) start[1706024304716] time[20] tag[loci.formats.Memoizer.saveMemo]
2024-01-23 15:38:24,737 DEBUG [                   loci.formats.Memoizer] (2-thread-4) saved memo file: /OMERO/BioFormatsCache/OMERO/ManagedRepository/root_0/2024-01/23/15-38-23.609/18188.zarr/0/0/.0.bfmemo (35545 bytes)
2024-01-23 15:38:24,737 DEBUG [                   loci.formats.Memoizer] (2-thread-4) start[1706024304663] time[73] tag[loci.formats.Memoizer.setId]
2024-01-23 15:38:24,738 INFO  [    o.s.blitz.repo.ManagedImportRequestI] (2-thread-4) File format: Zarr
2024-01-23 15:38:24,738 INFO  [    o.s.blitz.repo.ManagedImportRequestI] (2-thread-4) Base reader: loci.formats.in.ZarrReader
2024-01-23 15:38:24,738 INFO  [                 org.perf4j.TimingLogger] (2-thread-4) start[1706024304606] time[131] tag[omero.import.request.init]
2024-01-23 15:38:24,738 INFO  [    ome.formats.OMEROMetadataStoreClient] (2-thread-4) Handling # of containers: 5
2024-01-23 15:38:24,739 INFO  [        ome.services.util.ServiceHandler] (.Server-11)  Executor.doWork -- ome.services.blitz.impl.MetadataStoreI.updateObjects[]
2024-01-23 15:38:24,739 INFO  [        ome.services.util.ServiceHandler] (.Server-11)  Args:    [null, InternalSF@1761040949]
2024-01-23 15:38:24,740 INFO  [    ome.security.basic.BasicEventContext] (.Server-11)  cctx:    group=0
2024-01-23 15:38:24,741 INFO  [         ome.security.basic.EventHandler] (.Server-11)  Auth:    user=0,group=0,event=null(User),sess=49050db0-d57a-43e3-b2e1-0f8439dc10ac
2024-01-23 15:38:24,742 INFO  [                 org.perf4j.TimingLogger] (.Server-11) start[1706024304739] time[3] tag[omero.call.success.ome.services.blitz.impl.MetadataStoreI$4.doWork]
2024-01-23 15:38:24,742 INFO  [        ome.services.util.ServiceHandler] (.Server-11)  Rslt:    null
2024-01-23 15:38:24,742 INFO  [    ome.formats.OMEROMetadataStoreClient] (2-thread-4) Handling # of references: 0
2024-01-23 15:38:24,744 INFO  [        ome.services.util.ServiceHandler] (l.Server-7)  Executor.doWork -- ome.services.blitz.impl.MetadataStoreI.saveToDb[]
2024-01-23 15:38:24,744 INFO  [        ome.services.util.ServiceHandler] (l.Server-7)  Args:    [null, InternalSF@1761040949]
2024-01-23 15:38:24,744 INFO  [    ome.security.basic.BasicEventContext] (l.Server-7)  cctx:    group=0
2024-01-23 15:38:24,758 INFO  [         ome.security.basic.EventHandler] (l.Server-7)  Auth:    user=0,group=0,event=2606(User),sess=49050db0-d57a-43e3-b2e1-0f8439dc10ac
2024-01-23 15:38:24,768 INFO  [       ome.security.basic.CurrentDetails] (l.Server-7) Adding log:INSERT,class ome.model.core.Image,52
2024-01-23 15:38:24,770 INFO  [       ome.security.basic.CurrentDetails] (l.Server-7) Adding log:INSERT,class ome.model.core.Pixels,52
2024-01-23 15:38:24,771 INFO  [       ome.security.basic.CurrentDetails] (l.Server-7) Adding log:INSERT,class ome.model.core.LogicalChannel,52
2024-01-23 15:38:24,773 INFO  [       ome.security.basic.CurrentDetails] (l.Server-7) Adding log:INSERT,class ome.model.core.Channel,52
2024-01-23 15:38:24,775 INFO  [                 org.perf4j.TimingLogger] (l.Server-7) start[1706024304759] time[16] tag[omero.saveImportGraph]
2024-01-23 15:38:24,785 INFO  [                 org.perf4j.TimingLogger] (l.Server-7) start[1706024304744] time[41] tag[omero.call.success.ome.services.blitz.impl.MetadataStoreI$3.doWork]
2024-01-23 15:38:24,785 INFO  [        ome.services.util.ServiceHandler] (l.Server-7)  Rslt:    {Image=(ome.model.core.Image:Id_52), Pixels=(ome.model.core.Pixels:Id_52), Plate=null}
2024-01-23 15:38:24,787 INFO  [                 org.perf4j.TimingLogger] (2-thread-4) start[1706024304738] time[48] tag[omero.import.request.metadata]
2024-01-23 15:38:24,787 INFO  [        ome.services.util.ServiceHandler] (.Server-10)  Meth:    interface ome.api.IQuery.get
2024-01-23 15:38:24,788 INFO  [        ome.services.util.ServiceHandler] (.Server-10)  Args:    [class ome.model.core.OriginalFile, 343]
2024-01-23 15:38:24,789 INFO  [    ome.security.basic.BasicEventContext] (.Server-10)  cctx:    group=0
2024-01-23 15:38:24,791 INFO  [         ome.security.basic.EventHandler] (.Server-10)  Auth:    user=0,group=0,event=null(User),sess=49050db0-d57a-43e3-b2e1-0f8439dc10ac
2024-01-23 15:38:24,793 INFO  [                 org.perf4j.TimingLogger] (.Server-10) start[1706024304788] time[5] tag[omero.call.success.ome.logic.QueryImpl.get]
2024-01-23 15:38:24,793 INFO  [        ome.services.util.ServiceHandler] (.Server-10)  Rslt:    ome.model.core.OriginalFile:Id_343
2024-01-23 15:38:24,794 INFO  [        ome.services.util.ServiceHandler] (.Server-11)  Meth:    interface ome.api.IUpdate.saveObject
2024-01-23 15:38:24,794 INFO  [        ome.services.util.ServiceHandler] (.Server-11)  Args:    [ome.model.core.OriginalFile:Id_343]
2024-01-23 15:38:24,795 INFO  [    ome.security.basic.BasicEventContext] (.Server-11)  cctx:    group=0
2024-01-23 15:38:24,802 INFO  [         ome.security.basic.EventHandler] (.Server-11)  Auth:    user=0,group=0,event=2607(User),sess=49050db0-d57a-43e3-b2e1-0f8439dc10ac
2024-01-23 15:38:24,805 INFO  [       ome.security.basic.CurrentDetails] (.Server-11) Adding log:UPDATE,class ome.model.core.OriginalFile,343
2024-01-23 15:38:24,808 INFO  [                 org.perf4j.TimingLogger] (.Server-11) start[1706024304794] time[13] tag[omero.call.success.ome.logic.UpdateImpl.saveObject]
2024-01-23 15:38:24,808 INFO  [        ome.services.util.ServiceHandler] (.Server-11)  Rslt:    null
2024-01-23 15:38:24,809 INFO  [                 org.perf4j.TimingLogger] (2-thread-4) start[1706024304738] time[70] tag[omero.import.request.step]
2024-01-23 15:38:24,809 INFO  [                 org.perf4j.TimingLogger] (2-thread-4) start[1706024304738] time[70] tag[omero.request.step.0]
2024-01-23 15:38:24,809 INFO  [ o.s.b.r.ManagedImportRequestI.@603ef8f9] (2-thread-4) notify step 1 of 5
2024-01-23 15:38:24,810 INFO  [ o.s.b.r.ManagedImportRequestI.@603ef8f9] (2-thread-4) Cancelled
2024-01-23 15:38:24,811 INFO  [        ome.services.util.ServiceHandler] (l.Server-7)  Meth:    interface ome.api.IQuery.get
2024-01-23 15:38:24,811 INFO  [        ome.services.util.ServiceHandler] (l.Server-7)  Args:    [class ome.model.core.OriginalFile, 343]
2024-01-23 15:38:24,812 INFO  [    ome.security.basic.BasicEventContext] (l.Server-7)  cctx:    group=0
2024-01-23 15:38:24,813 INFO  [         ome.security.basic.EventHandler] (l.Server-7)  Auth:    user=0,group=0,event=null(User),sess=49050db0-d57a-43e3-b2e1-0f8439dc10ac
2024-01-23 15:38:24,815 INFO  [                 org.perf4j.TimingLogger] (l.Server-7) start[1706024304811] time[3] tag[omero.call.success.ome.logic.QueryImpl.get]
2024-01-23 15:38:24,815 INFO  [        ome.services.util.ServiceHandler] (l.Server-7)  Rslt:    ome.model.core.OriginalFile:Id_343
2024-01-23 15:38:24,816 INFO  [        ome.services.util.ServiceHandler] (.Server-10)  Meth:    interface ome.api.IUpdate.saveObject
2024-01-23 15:38:24,816 INFO  [        ome.services.util.ServiceHandler] (.Server-10)  Args:    [ome.model.core.OriginalFile:Id_343]
2024-01-23 15:38:24,816 INFO  [    ome.security.basic.BasicEventContext] (.Server-10)  cctx:    group=0
2024-01-23 15:38:24,823 INFO  [         ome.security.basic.EventHandler] (.Server-10)  Auth:    user=0,group=0,event=2608(User),sess=49050db0-d57a-43e3-b2e1-0f8439dc10ac
2024-01-23 15:38:24,825 INFO  [       ome.security.basic.CurrentDetails] (.Server-10) Adding log:UPDATE,class ome.model.core.OriginalFile,343
2024-01-23 15:38:24,828 INFO  [                 org.perf4j.TimingLogger] (.Server-10) start[1706024304816] time[12] tag[omero.call.success.ome.logic.UpdateImpl.saveObject]
2024-01-23 15:38:24,829 INFO  [        ome.services.util.ServiceHandler] (.Server-10)  Rslt:    null
2024-01-23 15:38:24,829 INFO  [                 org.perf4j.TimingLogger] (2-thread-4) start[1706024304809] time[19] tag[omero.import.request.step]
2024-01-23 15:38:24,829 INFO  [                 org.perf4j.TimingLogger] (2-thread-4) start[1706024304809] time[20] tag[omero.request.step.1]
2024-01-23 15:38:24,829 INFO  [                 org.perf4j.TimingLogger] (2-thread-4) start[1706024304606] time[222] tag[omero.request]
2024-01-23 15:38:24,829 INFO  [                 org.perf4j.TimingLogger] (2-thread-4) start[1706024304598] time[230] tag[omero.call.exception]
2024-01-23 15:38:24,829 INFO  [        ome.services.util.ServiceHandler] (2-thread-4)  Excp:    omero.cmd.HandleI$Cancel: import-request-failure
2024-01-23 15:38:24,829 DEBUG [ o.s.b.r.ManagedImportRequestI.@603ef8f9] (2-thread-4) Request cancelled by java.lang.NoClassDefFoundError: Could not initialize class org.blosc.IBloscDll
2024-01-23 15:38:24,830 INFO  [        ome.services.util.ServiceHandler] (.Server-11)  Meth:    interface ome.api.StatefulServiceInterface.close
2024-01-23 15:38:24,830 INFO  [        ome.services.util.ServiceHandler] (.Server-11)  Args:    ()
2024-01-23 15:38:24,831 INFO  [    ome.security.basic.BasicEventContext] (.Server-11)  cctx:    group=0
2024-01-23 15:38:24,837 INFO  [         ome.security.basic.EventHandler] (.Server-11)  Auth:    user=0,group=0,event=2609(User),sess=49050db0-d57a-43e3-b2e1-0f8439dc10ac
2024-01-23 15:38:24,839 INFO  [                 org.perf4j.TimingLogger] (.Server-11) start[1706024304830] time[8] tag[omero.call.success.ome.services.RawFileBean.close]
2024-01-23 15:38:24,839 INFO  [        ome.services.util.ServiceHandler] (.Server-11)  Rslt:    null
2024-01-23 15:38:24,839 INFO  [        ome.services.util.ServiceHandler] (.Server-11) Cleanup: ome.services.RawFileBean@5231077b
2024-01-23 15:38:24,839 INFO  [                      omero.cmd.SessionI] (.Server-11) Unregistered servant:49050db0-d57a-43e3-b2e1-0f8439dc10ac/f61b464d-47d8-4a0f-90cb-e4167198170domero.api.RawFileStore(omero.api._RawFileStoreTie@1d74443)
2024-01-23 15:38:24,839 INFO  [        ome.services.util.ServiceHandler] (l.Server-7)  Meth:    interface ome.api.StatefulServiceInterface.close
2024-01-23 15:38:24,839 INFO  [        ome.services.util.ServiceHandler] (l.Server-7)  Args:    ()
2024-01-23 15:38:24,840 INFO  [    ome.security.basic.BasicEventContext] (l.Server-7)  cctx:    group=0
2024-01-23 15:38:24,845 INFO  [         ome.security.basic.EventHandler] (l.Server-7)  Auth:    user=0,group=0,event=2610(User),sess=49050db0-d57a-43e3-b2e1-0f8439dc10ac
2024-01-23 15:38:24,847 INFO  [                 org.perf4j.TimingLogger] (l.Server-7) start[1706024304839] time[7] tag[omero.call.success.ome.services.RawPixelsBean.close]
2024-01-23 15:38:24,847 INFO  [        ome.services.util.ServiceHandler] (l.Server-7)  Rslt:    null
2024-01-23 15:38:24,847 INFO  [        ome.services.util.ServiceHandler] (l.Server-7) Cleanup: ome.services.RawPixelsBean@32c62652
2024-01-23 15:38:24,847 INFO  [                      omero.cmd.SessionI] (l.Server-7) Unregistered servant:49050db0-d57a-43e3-b2e1-0f8439dc10ac/a66e0d04-4fdb-469f-a914-5fa9eed0103fomero.api.RawPixelsStore(omero.api._RawPixelsStoreTie@3e26b4fc)
2024-01-23 15:38:24,848 INFO  [        ome.services.util.ServiceHandler] (.Server-10)  Meth:    interface ome.api.StatefulServiceInterface.close
2024-01-23 15:38:24,848 INFO  [        ome.services.util.ServiceHandler] (.Server-10)  Args:    ()
2024-01-23 15:38:24,848 INFO  [    ome.security.basic.BasicEventContext] (.Server-10)  cctx:    group=0
2024-01-23 15:38:24,850 INFO  [         ome.security.basic.EventHandler] (.Server-10)  Auth:    user=0,group=0,event=null(User),sess=49050db0-d57a-43e3-b2e1-0f8439dc10ac
2024-01-23 15:38:24,850 INFO  [                 org.perf4j.TimingLogger] (.Server-10) start[1706024304848] time[2] tag[omero.call.success.ome.services.ThumbnailBean.close]
2024-01-23 15:38:24,850 INFO  [        ome.services.util.ServiceHandler] (.Server-10)  Rslt:    null
2024-01-23 15:38:24,850 INFO  [        ome.services.util.ServiceHandler] (.Server-10) Cleanup: ome.services.ThumbnailBean@7a12c407
2024-01-23 15:38:24,850 INFO  [                      omero.cmd.SessionI] (.Server-10) Unregistered servant:49050db0-d57a-43e3-b2e1-0f8439dc10ac/3a1d0c58-90b5-498f-a24f-4e53aa935497omero.api.ThumbnailStore(omero.api._ThumbnailStoreTie@c7bd81ab)
2024-01-23 15:38:24,851 INFO  [                      omero.cmd.SessionI] (.Server-11) Unregistered servant:49050db0-d57a-43e3-b2e1-0f8439dc10ac/35813f3a-ff00-4626-baf5-2d5f96fa37adomero.api.MetadataStore(omero.api._MetadataStoreTie@d3b6fa14)
2024-01-23 15:38:24,851 INFO  [    o.s.blitz.repo.ManagedImportRequestI] (2-thread-4) Cleaning up import.
2024-01-23 15:38:24,851 INFO  [        ome.services.util.ServiceHandler] (l.Server-7)  Executor.doWork -- ome.services.blitz.impl.ServiceFactoryI.isGuest[]
2024-01-23 15:38:24,851 INFO  [        ome.services.util.ServiceHandler] (l.Server-7)  Args:    [null, InternalSF@1761040949]
...
pwalczysko commented 6 months ago

I was able to fix the problem on a RHEL 9 server by

sudo dnf install blosc

Then the import started to work.

Nevertheless, if I install blosc into the docker image as delivered by https://github.com/ome/omero-server-docker/pull/87 (make a change in line https://github.com/ome/omero-server-docker/blob/45f9f7f1e9beb5949e6fcd970503e622c599c0a3/Dockerfile#L14 changing it to RUN dnf install -y ansible-core sudo ca-certificates blosc then the error changes: Although the blosc is installed and used successfully, I have now

2024-01-23 16:18:15,889 6364       [l.Client-0] ERROR     ome.formats.importer.cli.ErrorHandler - INTERNAL_EXCEPTION: /Users/pwalczysko/Work/18188.zarr/0/0/0
java.lang.RuntimeException: Failure response on import!
Category: ::omero::grid::ImportRequest
Name: import-request-failure
Parameters: {stacktrace=java.lang.IndexOutOfBoundsException
    at java.base/java.io.DataInputStream.readFully(DataInputStream.java:197)
    at com.bc.zarr.CompressorFactory$BloscCompressor.uncompress(CompressorFactory.java:342)
    at com.bc.zarr.chunk.ChunkReaderWriterImpl_Byte.read(ChunkReaderWriterImpl_Byte.java:50)
    at com.bc.zarr.ZarrArray.read(ZarrArray.java:278)
    at com.bc.zarr.ZarrArray.read(ZarrArray.java:255)
    at loci.formats.services.JZarrServiceImpl.readBytes(JZarrServiceImpl.java:266)
    at loci.formats.in.ZarrReader.openBytes(ZarrReader.java:362)
    at loci.formats.ImageReader.openBytes(ImageReader.java:467)
    at loci.formats.ChannelFiller.openBytes(ChannelFiller.java:169)
    at loci.formats.ChannelSeparator.openBytes(ChannelSeparator.java:231)
    at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:350)
    at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:350)
    at loci.formats.MinMaxCalculator.openBytes(MinMaxCalculator.java:269)
    at ome.services.blitz.repo.ManagedImportRequestI.parseDataByPlane(ManagedImportRequestI.java:872)
    at ome.services.blitz.repo.ManagedImportRequestI.parseData(ManagedImportRequestI.java:803)
    at ome.services.blitz.repo.ManagedImportRequestI.pixelData(ManagedImportRequestI.java:676)
    at ome.services.blitz.repo.ManagedImportRequestI.step(ManagedImportRequestI.java:525)
    at omero.cmd.HandleI.steps(HandleI.java:448)
    at omero.cmd.HandleI$RunSteps.innerWork(HandleI.java:509)
    at omero.cmd.HandleI$2.doWork(HandleI.java:383)
    at omero.cmd.HandleI$2.doWork(HandleI.java:380)
    at jdk.internal.reflect.GeneratedMethodAccessor281.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:568)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
    at com.sun.proxy.$Proxy82.doWork(Unknown Source)
    at ome.services.util.Executor$Impl.execute(Executor.java:447)
    at omero.cmd.HandleI.run(HandleI.java:379)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at ome.services.util.Executor$Impl$1.call(Executor.java:488)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:829)
, message=}

    at ome.formats.importer.ImportLibrary$ImportCallback.onFinished(ImportLibrary.java:807)
    at omero.cmd.CmdCallbackI.finished(CmdCallbackI.java:334)
    at omero.cmd._CmdCallbackDisp.___finished(_CmdCallbackDisp.java:118)
    at omero.cmd._CmdCallbackDisp.__dispatch(_CmdCallbackDisp.java:145)
    at IceInternal.Incoming.invoke(Incoming.java:221)
    at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
    at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
    at Ice.ConnectionI.message(ConnectionI.java:1056)
    at IceInternal.ThreadPool.run(ThreadPool.java:395)
    at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
    at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
    at java.base/java.lang.Thread.run(Thread.java:829)

java.lang.RuntimeException: Failure response on import!
Category: ::omero::grid::ImportRequest
Name: import-request-failure
Parameters: {stacktrace=java.lang.IndexOutOfBoundsException
    at java.base/java.io.DataInputStream.readFully(DataInputStream.java:197)
    at com.bc.zarr.CompressorFactory$BloscCompressor.uncompress(CompressorFactory.java:342)
    at com.bc.zarr.chunk.ChunkReaderWriterImpl_Byte.read(ChunkReaderWriterImpl_Byte.java:50)
    at com.bc.zarr.ZarrArray.read(ZarrArray.java:278)
    at com.bc.zarr.ZarrArray.read(ZarrArray.java:255)
    at loci.formats.services.JZarrServiceImpl.readBytes(JZarrServiceImpl.java:266)
    at loci.formats.in.ZarrReader.openBytes(ZarrReader.java:362)
    at loci.formats.ImageReader.openBytes(ImageReader.java:467)
    at loci.formats.ChannelFiller.openBytes(ChannelFiller.java:169)
    at loci.formats.ChannelSeparator.openBytes(ChannelSeparator.java:231)
    at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:350)
    at loci.formats.ReaderWrapper.openBytes(ReaderWrapper.java:350)
    at loci.formats.MinMaxCalculator.openBytes(MinMaxCalculator.java:269)
    at ome.services.blitz.repo.ManagedImportRequestI.parseDataByPlane(ManagedImportRequestI.java:872)
    at ome.services.blitz.repo.ManagedImportRequestI.parseData(ManagedImportRequestI.java:803)
    at ome.services.blitz.repo.ManagedImportRequestI.pixelData(ManagedImportRequestI.java:676)
    at ome.services.blitz.repo.ManagedImportRequestI.step(ManagedImportRequestI.java:525)
    at omero.cmd.HandleI.steps(HandleI.java:448)
    at omero.cmd.HandleI$RunSteps.innerWork(HandleI.java:509)
    at omero.cmd.HandleI$2.doWork(HandleI.java:383)
    at omero.cmd.HandleI$2.doWork(HandleI.java:380)
    at jdk.internal.reflect.GeneratedMethodAccessor281.invoke(Unknown Source)
    at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.base/java.lang.reflect.Method.invoke(Method.java:566)
    at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:333)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:190)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:157)
    at ome.services.util.Executor$Impl$Interceptor.invoke(Executor.java:568)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at ome.security.basic.EventHandler.invoke(EventHandler.java:154)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.orm.hibernate3.HibernateInterceptor.invoke(HibernateInterceptor.java:119)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.transaction.interceptor.TransactionInterceptor$1.proceedWithInvocation(TransactionInterceptor.java:99)
    at org.springframework.transaction.interceptor.TransactionAspectSupport.invokeWithinTransaction(TransactionAspectSupport.java:282)
    at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:96)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at ome.tools.hibernate.ProxyCleanupFilter$Interceptor.invoke(ProxyCleanupFilter.java:249)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at ome.services.util.ServiceHandler.invoke(ServiceHandler.java:121)
    at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:179)
    at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:213)
    at com.sun.proxy.$Proxy82.doWork(Unknown Source)
    at ome.services.util.Executor$Impl.execute(Executor.java:447)
    at omero.cmd.HandleI.run(HandleI.java:379)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at ome.services.util.Executor$Impl$1.call(Executor.java:488)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:829)
, message=}

    at ome.formats.importer.ImportLibrary$ImportCallback.onFinished(ImportLibrary.java:807)
    at omero.cmd.CmdCallbackI.finished(CmdCallbackI.java:334)
    at omero.cmd._CmdCallbackDisp.___finished(_CmdCallbackDisp.java:118)
    at omero.cmd._CmdCallbackDisp.__dispatch(_CmdCallbackDisp.java:145)
    at IceInternal.Incoming.invoke(Incoming.java:221)
    at Ice.ConnectionI.invokeAll(ConnectionI.java:2536)
    at Ice.ConnectionI.dispatch(ConnectionI.java:1145)
    at Ice.ConnectionI.message(ConnectionI.java:1056)
    at IceInternal.ThreadPool.run(ThreadPool.java:395)
    at IceInternal.ThreadPool.access$300(ThreadPool.java:12)
    at IceInternal.ThreadPool$EventHandlerThread.run(ThreadPool.java:832)
    at java.base/java.lang.Thread.run(Thread.java:829)
2024-01-23 16:18:15,893 6368       [2-thread-1] ERROR        ome.formats.importer.ImportLibrary - Error on import
java.lang.Exception: Import failure
    at ome.formats.importer.ImportLibrary.importImage(ImportLibrary.java:701)
    at ome.formats.importer.ImportLibrary$1.call(ImportLibrary.java:354)
    at ome.formats.importer.ImportLibrary$1.call(ImportLibrary.java:328)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
    at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
    at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
    at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
    at java.base/java.lang.Thread.run(Thread.java:829)
2024-01-23 16:18:15,893 6368       [2-thread-1] INFO         ome.formats.importer.ImportLibrary - Exiting on error

cc @khaledk2 @jburel @sbesson