Task #4989 (closed)
BUG:Concurrency on pixelBuffer
Reported by: | atarkowska | Owned by: | cxallan |
---|---|---|---|
Priority: | minor | Milestone: | OMERO-Beta4.3 |
Component: | Bio-Formats | Version: | n.a. |
Keywords: | n.a. | Cc: | mlinkert |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | 0.0d |
Sprint: | 2011-04-21 (10) |
Description (last modified by cxallan)
2011-04-18 13:43:45,223 WARN [ ome.services.util.ServiceHandler] (l.Server-0) Unknown exception thrown. java.lang.RuntimeException: File is neither valid JP2 file nor valid JPEG 2000 codestream at com.sun.media.imageioimpl.plugins.jpeg2000.J2KReadState.initializeRead(J2KReadState.java:697) at com.sun.media.imageioimpl.plugins.jpeg2000.J2KReadState.<init>(J2KReadState.java:209) at com.sun.media.imageioimpl.plugins.jpeg2000.J2KImageReader.readRaster(J2KImageReader.java:519) at loci.formats.services.JAIIIOServiceImpl.readRaster(JAIIIOServiceImpl.java:171) at loci.formats.codec.JPEG2000Codec.decompress(JPEG2000Codec.java:214) at loci.formats.tiff.TiffCompression.decompress(TiffCompression.java:237) at loci.formats.tiff.TiffParser.getTile(TiffParser.java:612) at loci.formats.tiff.TiffParser.getSamples(TiffParser.java:778) at loci.formats.in.MinimalTiffReader.openBytes(MinimalTiffReader.java:268) at ome.io.bioformats.BfPixelsWrapper.getTile(BfPixelsWrapper.java:371) at ome.io.bioformats.BfPixelBuffer.getTileDirect(BfPixelBuffer.java:409) at ome.io.bioformats.BfPixelBuffer.getTile(BfPixelBuffer.java:397) at ome.io.bioformats.BfPyramidPixelBuffer.getTile(BfPyramidPixelBuffer.java:614) at omeis.providers.re.data.PlaneFactory.createPlane(PlaneFactory.java:216) at omeis.providers.re.HSBStrategy.getWavelengthData(HSBStrategy.java:105) at omeis.providers.re.HSBStrategy.makeRenderingTasks(HSBStrategy.java:216) at omeis.providers.re.HSBStrategy.render(HSBStrategy.java:311) at omeis.providers.re.HSBStrategy.renderAsPackedInt(HSBStrategy.java:275) at omeis.providers.re.Renderer.renderAsPackedInt(Renderer.java:510) at ome.services.RenderingBean.renderAsPackedInt(RenderingBean.java:466) at ome.services.RenderingBean.renderCompressed(RenderingBean.java:515) at sun.reflect.GeneratedMethodAccessor718.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597)
Change History (7)
comment:1 Changed 13 years ago by Chris Allan <callan@…>
comment:2 Changed 13 years ago by cxallan
- Status changed from new to accepted
comment:3 Changed 13 years ago by cxallan
- Cc mlinkert-x added
- Component changed from General to Bio-Formats
- Description modified (diff)
- Remaining Time changed from 0.25 to 0.5
comment:4 Changed 13 years ago by Chris Allan <callan@…>
(In [ed2d3ac7e6de527c94ef765e254dcd0147e16e64/bioformats.git]) JPEG 2000 decode thread safety. (See #4989)
Further review may be needed but for now we will need to instantiate a
new J2KImageReader for each decode. With the global JAIIOService, the
current implementation leads to race conditions within the
J2KImageReader itself, causing all manner of havoc when used in long
running, multi-threaded environments like the OMERO server. Added a
loose test case that exhibits the problem when/if we want to adjust this
again or find an alternative solution.
comment:5 Changed 13 years ago by Chris Allan <callan@…>
(In [dce9cb7559c1aab580bf62c0ee66442224a036cb/ome.git] on branch develop) Updating to [ed2d3ac7e6de527c94ef765e254dcd0147e16e64/bioformats.git]. (See #4989)
comment:6 Changed 13 years ago by cxallan
- Remaining Time changed from 0.5 to 0
- Status changed from accepted to closed
comment:7 Changed 13 years ago by Chris Allan <callan@…>
(In [ed2d3ac7e6de527c94ef765e254dcd0147e16e64/bioformats.git]) JPEG 2000 decode thread safety. (See #4989)
Further review may be needed but for now we will need to instantiate a
new J2KImageReader for each decode. With the global JAIIOService, the
current implementation leads to race conditions within the
J2KImageReader itself, causing all manner of havoc when used in long
running, multi-threaded environments like the OMERO server. Added a
loose test case that exhibits the problem when/if we want to adjust this
again or find an alternative solution.
(In [af17df0bdb475af44f9a0016da22ba564a7716d9/ome.git] on branch develop) Attempt to address concurrency issues with pyramid pixel buffer. (See #4989)