Task #5550 (new)
Opened 13 years ago
Last modified 8 years ago
BUG: Thumbnail for very small images
Reported by: | wmoore | Owned by: | |
---|---|---|---|
Priority: | minor | Milestone: | Rendering |
Component: | Services | Version: | 4.4.9 |
Keywords: | n.a. | Cc: | |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | 0.1d |
Sprint: | n.a. |
Description
For a very small number of mng files, I am not getting thumbnails in web or Insight. Having looked at logs, probably due to the fact that they are very small images.
They are all named:
from_skyking/mng/images/MNGPAST....mng
and are 10 x 1 pixels in size.
Web log doesn't say much
Wed, 25 May 2011 10:31:28 blitz_gateway ERROR None
Blitz log is better
2011-05-25 10:33:49,095 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Meth: interface ome.api.ThumbnailStore.getThumbnailByLongestSideDirect 2011-05-25 10:33:49,095 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Args: [80] 2011-05-25 10:33:49,095 INFO [ ome.security.basic.EventHandler] (l.Server-4) Auth: user=3,group=3,event=null(User),sess=94e94fd7-1c85-4907-a96b-0e73733fc9d7 2011-05-25 10:33:49,095 INFO [ omeis.providers.re.Renderer] (l.Server-4) Using: 'omeis.providers.re.GreyScaleStrategy' rendering strategy. 2011-05-25 10:33:49,095 INFO [ ome.io.nio.RomioPixelBuffer] (l.Server-4) Retrieving plane: 0x0x0 2011-05-25 10:33:49,095 INFO [ ome.logic.JavaImageScalingService] (l.Server-4) Scaling to: 8x80 2011-05-25 10:33:49,097 INFO [ org.perf4j.TimingLogger] (l.Server-4) start[1306316029095] time[2] tag[omero.call.exception] 2011-05-25 10:33:49,097 WARN [ ome.services.util.ServiceHandler] (l.Server-4) Unknown exception thrown. java.lang.ArrayIndexOutOfBoundsException 2011-05-25 10:33:49,097 INFO [ ome.services.util.ServiceHandler] (l.Server-4) Excp: java.lang.ArrayIndexOutOfBoundsException
Initially they were causing a crash in Insight import (now been fixed - error below).
org.openmicroscopy.shoola.env.data.DSOutOfServiceException: Thumbnail service null for pixelsID: 454 at org.openmicroscopy.shoola.env.data.OMEROGateway.getThumbnailByLongestSide(OMEROGateway.java:3061) at org.openmicroscopy.shoola.env.data.OmeroImageServiceImpl.createImportedImage(OmeroImageServiceImpl.java:247) at org.openmicroscopy.shoola.env.data.OmeroImageServiceImpl.importCandidates(OmeroImageServiceImpl.java:178) at org.openmicroscopy.shoola.env.data.OmeroImageServiceImpl.importFile(OmeroImageServiceImpl.java:1174) at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter.importFile(ImagesImporter.java:85) at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter.access$0(ImagesImporter.java:79) at org.openmicroscopy.shoola.env.data.views.calls.ImagesImporter$1.doCall(ImagesImporter.java:105) 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:274) at org.openmicroscopy.shoola.util.concur.tasks.AsyncProcessor$Runner.run(AsyncProcessor.java:91) at java.lang.Thread.run(Thread.java:613) Caused by: omero.InternalException serverStackTrace = "ome.conditions.InternalException: Wrapped Exception: (java.lang.ArrayIndexOutOfBoundsException): 2 at com.mortennobel.imagescaling.ResampleOp.verticalFromWorkToDst(ResampleOp.java:334) at com.mortennobel.imagescaling.ResampleOp.doFilter(ResampleOp.java:169) at com.mortennobel.imagescaling.AdvancedResizeOp.filter(AdvancedResizeOp.java:81) at ome.logic.JavaImageScalingService.scaleBufferedImage(JavaImageScalingService.java:52) at ome.services.ThumbnailBean.createScaledImage(ThumbnailBean.java:563) at ome.services.ThumbnailBean._createThumbnail(ThumbnailBean.java:740) at ome.services.ThumbnailBean.retrieveThumbnail(ThumbnailBean.java:966) at ome.services.ThumbnailBean.retrieveThumbnailAndUpdateMetadata(ThumbnailBean.java:921) at ome.services.ThumbnailBean.getThumbnailByLongestSide(ThumbnailBean.java:1001) at sun.reflect.GeneratedMethodAccessor1662.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:592) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307
Change History (11)
comment:1 Changed 13 years ago by cxallan
comment:2 Changed 13 years ago by cxallan
- Sprint set to 2011-06-02 (13)
- Status changed from new to accepted
Full server side exception:
InternalException: exception ::omero::InternalException { serverStackTrace = ome.conditions.InternalException: Wrapped Exception: (java.lang.ArrayIndexOutOfBoundsException): 2 at com.mortennobel.imagescaling.ResampleOp.verticalFromWorkToDst(ResampleOp.java:334) at com.mortennobel.imagescaling.ResampleOp.doFilter(ResampleOp.java:169) at com.mortennobel.imagescaling.AdvancedResizeOp.filter(AdvancedResizeOp.java:81) at ome.logic.JavaImageScalingService.scaleBufferedImage(JavaImageScalingService.java:52) at ome.services.ThumbnailBean.createScaledImage(ThumbnailBean.java:624) at ome.services.ThumbnailBean.retrieveThumbnailDirect(ThumbnailBean.java:1118) at ome.services.ThumbnailBean._getThumbnailByLongestSideDirect(ThumbnailBean.java:1162) at ome.services.ThumbnailBean.getThumbnailByLongestSideDirect(ThumbnailBean.java:1178) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at ome.security.basic.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 $Proxy79.getThumbnailByLongestSideDirect(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:307) at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:183) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:150) at ome.security.basic.BasicSecurityWiring.invoke(BasicSecurityWiring.java:83) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at ome.services.blitz.fire.AopContextInitializer.invoke(AopContextInitializer.java:43) at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) at org.springframework.aop.framework.JdkDynamicAopProxy.invoke(JdkDynamicAopProxy.java:202) at $Proxy79.getThumbnailByLongestSideDirect(Unknown Source) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at ome.services.blitz.util.IceMethodInvoker.invoke(IceMethodInvoker.java:179) at ome.services.throttling.Callback.run(Callback.java:56) at ome.services.throttling.InThreadThrottlingStrategy.callInvokerOnRawArgs(InThreadThrottlingStrategy.java:56) at ome.services.blitz.impl.AbstractAmdServant.callInvokerOnRawArgs(AbstractAmdServant.java:136) at ome.services.blitz.impl.ThumbnailStoreI.getThumbnailByLongestSideDirect_async(ThumbnailStoreI.java:79) at omero.api._ThumbnailStoreTie.getThumbnailByLongestSideDirect_async(_ThumbnailStoreTie.java:134) at omero.api._ThumbnailStoreDisp.___getThumbnailByLongestSideDirect(_ThumbnailStoreDisp.java:381) at omero.api._ThumbnailStoreDisp.__dispatch(_ThumbnailStoreDisp.java:651) 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.InternalException message = Wrapped Exception: (java.lang.ArrayIndexOutOfBoundsException): 2
comment:3 Changed 13 years ago by jburel
- Sprint changed from 2011-06-02 (13) to 2011-06-16 (14)
Moved from sprint 2011-06-02 (13)
comment:4 Changed 13 years ago by cxallan
- Owner cxallan deleted
- Status changed from accepted to new
comment:5 Changed 13 years ago by cxallan
- Owner set to cxallan
comment:6 Changed 13 years ago by jburel
- Milestone changed from OMERO-Beta4.3 to OMERO-Beta4.3.1
- Sprint changed from 2011-06-16 (14) to 2011-06-30 (1)
Moved from sprint 2011-06-16 (14)
comment:7 Changed 13 years ago by cxallan
- Milestone changed from OMERO-Beta4.3.1 to OMERO-Beta4.3.2
- Priority changed from minor to blocker
- Remaining Time set to 0.1
- Sprint 2011-07-07 (1) deleted
Upstream bugs:
- http://code.google.com/p/java-image-scaling/issues/detail?id=2
- http://code.google.com/p/java-image-scaling/issues/detail?id=3
- http://code.google.com/p/java-image-scaling/issues/detail?id=27
Suggested fix from Issue:2:
When replacing ResampleOp() with ImprovedMultistepRescaleOp(), everything works fine.
We can attempt this change in milestone:OMERO-Beta4.3.2, pushing.
comment:8 Changed 13 years ago by cxallan
- Milestone changed from OMERO-Beta4.3.2 to Unscheduled
- Priority changed from blocker to minor
Tried the solution suggested above and there are other problems introduced. Pushing to unscheduled. We can bring back this issue when we have time to potentially look at other solutions.
comment:9 Changed 10 years ago by jamoore
- Milestone changed from Unscheduled to 5.0.0
- Owner cxallan deleted
- Version set to 4.4.9
comment:10 Changed 8 years ago by jamoore
- Milestone changed from 5.x to Unscheduled
comment:11 Changed 8 years ago by jburel
- Milestone changed from Unscheduled to Rendering
Full server side exception: