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 #5550 (new)

Opened 8 years ago

Last modified 4 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 8 years ago by cxallan

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:2 Changed 8 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 8 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 8 years ago by cxallan

  • Owner cxallan deleted
  • Status changed from accepted to new

comment:5 Changed 8 years ago by cxallan

  • Owner set to cxallan

comment:6 Changed 8 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 8 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:

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 8 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 6 years ago by jamoore

  • Milestone changed from Unscheduled to 5.0.0
  • Owner cxallan deleted
  • Version set to 4.4.9

comment:10 Changed 4 years ago by jamoore

  • Milestone changed from 5.x to Unscheduled

comment:11 Changed 4 years ago by jburel

  • Milestone changed from Unscheduled to Rendering
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.203450 sec.)

We're Hiring!