NOTICE! This is a static HTML version of a legacy LOCI Software ticket.

LOCI projects are now located on GitHub. The Bio-Formats project can be found here.

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

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.

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.