Task #10076 (closed)
Opened 11 years ago
Closed 11 years ago
Bug: Zeiss CZI getSeriesCount failure
Reported by: | rleigh | Owned by: | mlinkert |
---|---|---|---|
Priority: | critical | Milestone: | Unscheduled |
Component: | Bio-Formats | Version: | n.a. |
Keywords: | n.a. | Cc: | |
Resources: | n.a. | Referenced By: | n.a. |
References: | n.a. | Remaining Time: | n.a. |
Sprint: | n.a. |
Description
On dev_4_4 using QA 4820:
showinf ./Snap-02-HRc-SW.czi -fast -autoscale | less Exception in thread "main" java.lang.IllegalStateException: ImageReader.getSeriesCount: Current file should not be null; call setId(String) first at loci.formats.FormatTools.assertId(FormatTools.java:713) at loci.formats.ImageReader.getReader(ImageReader.java:200) at loci.formats.ImageReader.getSeriesCount(ImageReader.java:431) at loci.formats.ReaderWrapper.getSeriesCount(ReaderWrapper.java:335) at loci.formats.ReaderWrapper.getSeriesCount(ReaderWrapper.java:335) at loci.formats.tools.ImageInfo.printOriginalMetadata(ImageInfo.java:893) at loci.formats.tools.ImageInfo.testRead(ImageInfo.java:1005) at loci.formats.tools.ImageInfo.main(ImageInfo.java:1031)
I've not been able to reliably reproduce it though. It might be related to piping stdout via less--not sure how well it copes with the sink end of the pipe being closed prematurely if you just hit "q" without paging to the end. That should make writes to stdout fail with SIGPIPE. But it shouldn't cause an exception, so not sure if that's not a red herring.
Change History (4)
comment:1 Changed 11 years ago by mlinkert
comment:2 Changed 11 years ago by rleigh
This is current dev_4_4:
lifesci-3404% showinf ./Snap-02-HRc-SW.czi -fast -autoscale | less Exception in thread "main" java.lang.IllegalStateException: ImageReader.getSeriesCount: Current file should not be null; call setId(String) first at loci.formats.FormatTools.assertId(FormatTools.java:713) at loci.formats.ImageReader.getReader(ImageReader.java:200) at loci.formats.ImageReader.getSeriesCount(ImageReader.java:431) at loci.formats.ReaderWrapper.getSeriesCount(ReaderWrapper.java:335) at loci.formats.ReaderWrapper.getSeriesCount(ReaderWrapper.java:335) at loci.formats.tools.ImageInfo.printOriginalMetadata(ImageInfo.java:893) at loci.formats.tools.ImageInfo.testRead(ImageInfo.java:1005) at loci.formats.tools.ImageInfo.main(ImageInfo.java:1031) lifesci-3404% showinf -version Version: 4.4.6-DEV VCS revision: 766ccbc Build date: 21 December 2012
This is definitely not always reproducible. May just be random chance, but dragging the mouse around the image viewer and then using file->quit rather than just hitting C-q seems to help. Then just hit q in the pager.
In the above example, I triggered it on the second attempt (just hit C-q, q first time).
comment:3 Changed 11 years ago by mlinkert
Thanks - now I can pretty consistently reproduce the error. Only .czi files seem to be affected; similar files in other formats do not appear to have this problem.
comment:4 Changed 11 years ago by mlinkert
- Resolution set to fixed
- Status changed from new to closed
Fix added to: https://github.com/openmicroscopy/bioformats/pull/313
That works for me, but feel free to reopen if you still see an exception.
I can't reproduce this at all, and routinely pipe the output of showinf through less without ill effect (even when hitting "q" without paging).
Is there any other stack trace shown? What is the output of 'showinf -version'?