Warning: Can't synchronize with repository "(default)" (/home/git/ome.git does not appear to be a Git repository.). Look in the Trac log for more information.
Notice: In order to edit this ticket you need to be either: a Product Owner, The owner or the reporter of the ticket, or, in case of a Task not yet assigned, a team_member"

Task #5594 (closed)

Opened 12 years ago

Closed 12 years ago

Bug: RawPixelsStore.close failure should fail the build.

Reported by: jamoore Owned by: jamoore
Priority: blocker Milestone: OMERO-Beta4.3
Component: Services Version: n.a.
Keywords: n.a. Cc: cxallan, jburel, mlinkert
Resources: n.a. Referenced By: n.a.
References: n.a. Remaining Time: 0.0d
Sprint: 2011-06-02 (13)

Description (last modified by jmoore)

While testing #5556, this was logged on the server, causing an "invalid image" to be shown in Insight. Server-side this was logged:

2011-05-26 10:18:38,797 INFO  [       loci.formats.in.MinimalTiffReader] (l.Server-8) Using JPEG 2000 resolution level 0
2011-05-26 10:18:38,812 ERROR [e.io.bioformats.OmeroPixelsPyramidWriter] (l.Server-8) Error during process processing!
loci.formats.FormatException: Plane index:1 must be < 1
	at loci.formats.FormatWriter.checkParams(FormatWriter.java:356)
	at loci.formats.out.TiffWriter.saveBytes(TiffWriter.java:153)
	at loci.formats.out.TiffWriter.saveBytes(TiffWriter.java:140)
	at ome.io.bioformats.OmeroPixelsPyramidWriter.recompressSeries(OmeroPixelsPyramidWriter.java:125)
	at ome.io.bioformats.OmeroPixelsPyramidWriter.postProcess(OmeroPixelsPyramidWriter.java:86)
	at ome.io.bioformats.OmeroPixelsPyramidWriter.close(OmeroPixelsPyramidWriter.java:52)
	at ome.io.bioformats.BfPyramidPixelBuffer.closeWriter(BfPyramidPixelBuffer.java:364)
	at ome.io.bioformats.BfPyramidPixelBuffer.close(BfPyramidPixelBuffer.java:611)
	at ome.services.RawPixelsBean.closePixelBuffer(RawPixelsBean.java:240)
	at ome.services.RawPixelsBean.clean(RawPixelsBean.java:225)
	at ome.services.RawPixelsBean.close(RawPixelsBean.java:217)

but no exception on RawPixelsStorePrx.close() reached the user since it is invoked via "closeQuietly". The logic needs to be changed so that if an exception is thrown the close happens quietly, but otherwise the close happens loudly.

Change History (3)

comment:1 Changed 12 years ago by jmoore

Also occurs from the command line importer. See below. I think we need to handle the failed closing of the service as an import failure.

2011-05-26 11:59:27,410 7581       [      main] INFO         ome.formats.importer.ImportLibrary  - Reader is not of HCS domain, use metafile: true
2011-05-26 12:01:48,918 149089     [      main] WARN       ome.formats.OMEROMetadataStoreClient  - Exception closing "60e169b4-6a6a-4975-84fa-32b97a19513e/a:2:1:bf:-5c80dc82:1302b303d09:-7fa5omero.api.RawPixelsStore" -t:tcp -h 10.2.1.191 -p 54955
omero.ResourceError
    serverStackTrace = "ome.conditions.ResourceError: Error during process processing! Please check server log.
                        	at ome.services.RawPixelsBean.closePixelBuffer(RawPixelsBean.java:246)
                        	at ome.services.RawPixelsBean.clean(RawPixelsBean.java:225)
                        	at ome.services.RawPixelsBean.close(RawPixelsBean.java:217)
                        	at sun.reflect.GeneratedMethodAccessor683.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:150)
                        	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: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 $Proxy83.close(Unknown Source)
                        	at sun.reflect.GeneratedMethodAccessor683.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: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 $Proxy83.close(Unknown Source)
                        	at ome.services.blitz.impl.AbstractAmdServant.close_async(AbstractAmdServant.java:227)
                        	at omero.api._RawPixelsStoreTie.close_async(_RawPixelsStoreTie.java:330)
                        	at omero.api._StatefulServiceInterfaceDisp.___close(_StatefulServiceInterfaceDisp.java:142)
                        	at omero.api._RawPixelsStoreDisp.__dispatch(_RawPixelsStoreDisp.java:1157)
                        	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 = "Error during process processing! Please check server log."
	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
	at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
	at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
	at java.lang.Class.newInstance0(Class.java:355)
	at java.lang.Class.newInstance(Class.java:308)
	at IceInternal.BasicStream$DynamicUserExceptionFactory.createAndThrow(BasicStream.java:2243)
	at IceInternal.BasicStream.throwException(BasicStream.java:1632)
	at IceInternal.Outgoing.throwUserException(Outgoing.java:442)
	at omero.api._RawPixelsStoreDelM.close(_RawPixelsStoreDelM.java:1901)
	at omero.api.RawPixelsStorePrxHelper.close(RawPixelsStorePrxHelper.java:2642)
	at omero.api.RawPixelsStorePrxHelper.close(RawPixelsStorePrxHelper.java:2614)
	at ome.formats.OMEROMetadataStoreClient.closeQuietly(OMEROMetadataStoreClient.java:876)
	at ome.formats.OMEROMetadataStoreClient.finalizePixelStore(OMEROMetadataStoreClient.java:2435)
	at ome.formats.importer.ImportLibrary.importImage(ImportLibrary.java:494)
	at ome.formats.importer.ImportLibrary.importCandidates(ImportLibrary.java:226)
	at ome.formats.importer.cli.CommandLineImporter.start(CommandLineImporter.java:134)
	at ome.formats.importer.cli.CommandLineImporter.main(CommandLineImporter.java:379)
2011-05-26 12:02:12,565 172736     [      main] INFO   ormats.importer.cli.LoggingImportMonitor  - IMPORT_DONE

comment:2 Changed 12 years ago by jmoore

  • Description modified (diff)
  • Owner set to jmoore
  • Sprint set to 2011-06-02 (13)
  • Status changed from new to accepted
  • Summary changed from Bug: Plane index :1 must be <1 to Bug: RawPixelsStore.close failure should fail the build.

comment:3 Changed 12 years ago by jmoore <josh@…>

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

(In [843ba6e209b8981288266b89a6fea4d44858ee61/ome.git] on branch develop) Throwing exception from RawPixelsStorePrx.close during import (Fix #5594)

Note: See TracTickets for help on using tickets. You may also have a look at Agilo extensions to the ticket.

1.3.13-PRO © 2008-2011 Agilo Software all rights reserved (this page was served in: 0.65563 sec.)

We're Hiring!