Ticket #236 (closed defect: fixed)
Opened 2008-02-11T11:39:13-06:00
Last modified 2008-02-11T13:27:34-06:00
QuickTime resource fork parsing on Mac file systems throws ArithmeticException
Reported by: | curtis | Owned by: | melissa |
---|---|---|---|
Priority: | critical | Milestone: | |
Component: | bio-formats | Severity: | critical |
Keywords: | Cc: | ||
Blocked By: | Blocking: |
Description
When reading a QuickTime movie with split resource fork on a Mac OS X file system, QTReader finds the resource fork using the syntax "movie.mov/..namedfork/rsrc" but later throws an exception:
curtis@monk:~/Desktop/test 4D viewer files$ showinf FocalPlane01.mov ... Exception in thread "main" java.lang.ArithmeticException: / by zero at loci.formats.FormatReader.getEffectiveSizeC(FormatReader.java:241) at loci.formats.ImageReader.getEffectiveSizeC(ImageReader.java:224) at loci.formats.tools.ImageInfo.testRead(ImageInfo.java:292) at loci.formats.tools.ImageInfo.main(ImageInfo.java:624)
I dumped the contents of data/quicktime/jayne/20080211/FocalPlane01.mov/..namedfork/rsrc to a separate file (FocalPlane01.mov.rsrc) and compared with the one created when copying to a non-Mac file system (._FocalPlane01.mov) and noticed that the two differ. So my guess is that we may need to parse the rsrc stream differently than we do the ._ files. More details are in data/quicktime/jayne/20080211/readme.txt.
Change History
comment:1 Changed 2008-02-11T11:59:41-06:00 by curtis
comment:2 Changed 2008-02-11T13:27:34-06:00 by melissa
- Status changed from new to closed
- Resolution set to fixed
Should be fixed in r3658. Note that the difference between the ._ and rsrc files does not affect our ability to read the corresponding movie - the ._ files simply contain an extra header block to identify them as Mac OS X resource files. This header is stripped out by QTReader's stripHeader() method.
Upon further analysis, it may be that this dataset simply generates this extension regardless of which resource fork type is used. I tested showinf FocalPlane01.mov -debug from the file server on Windows, which reports that it is parsing ._FocalPlane01.mov, and received the same exception.