Skip to content

Unhandled exception in JHOVE JPEG2000-hul for balloon_oj.jp2 #1058

@RvanVeenendaal

Description

@RvanVeenendaal

When running JHOVE against balloon_oj.jp2 from the format-corpus, JHOVE 1.34 and 1.30 end with an unhandled exception message. Jpylyzer 2.2.1 reports True without exception messages.

What is this property where a Null value is not permitted, and why does JHOVE halt while Jpylyzer seems to accept it?

This is the output of JHOVE 1.34 and 1.30:

[remco@localhost prime]$ /home/remco/preservation/jhove/jhove -m JPEG2000-hul ~/preservation/format-corpus-master/jp2k-test/resolution/balloon_oj.jp2
jul 08, 2025 11:09:21 A.M. edu.harvard.hul.ois.jhove.JhoveBase process
SEVERE: Validation ended prematurely due to an unhandled exception.
java.lang.NullPointerException: Null value not permitted for property: 
	at edu.harvard.hul.ois.jhove.Property.init(Property.java:77)
	at edu.harvard.hul.ois.jhove.Property.<init>(Property.java:66)
	at edu.harvard.hul.ois.jhove.module.jpeg2000.COCMarkerSegment.process(COCMarkerSegment.java:111)
	at edu.harvard.hul.ois.jhove.module.jpeg2000.ContCodestream.readCodestream(ContCodestream.java:148)
	at edu.harvard.hul.ois.jhove.module.jpeg2000.ContCodestreamBox.readBox(ContCodestreamBox.java:61)
	at edu.harvard.hul.ois.jhove.module.Jpeg2000Module.readBoxes(Jpeg2000Module.java:774)
	at edu.harvard.hul.ois.jhove.module.Jpeg2000Module.parse(Jpeg2000Module.java:384)
	at edu.harvard.hul.ois.jhove.JhoveBase.processFile(JhoveBase.java:831)
	at edu.harvard.hul.ois.jhove.JhoveBase.process(JhoveBase.java:603)
	at edu.harvard.hul.ois.jhove.JhoveBase.dispatch(JhoveBase.java:479)
	at edu.harvard.hul.ois.jhove.Jhove.main(Jhove.java:258)

Jhove (Rel. 1.34.0, 2025-07-02)
 Date: 2025-07-08 11:09:21 CEST
 RepresentationInformation: /home/remco/preservation/format-corpus-master/jp2k-test/resolution/balloon_oj.jp2
  ReportingModule: JPEG2000-hul, Rel. 1.4.5 (2025-03-12)
  LastModified: 2023-05-10 12:53:42 CEST
  Size: 670372
  Format: JPEG 2000
  Status: Unknown
  SignatureMatches:
   JPEG2000-hul
  ErrorMessage: Validation ended prematurely due to an unhandled exception.
   ID: JHOVE-CORE-5
   InfoLink: https://github.com/openpreserve/jhove/wiki/JPEG2000-hul-Messages#jhove-core-5
  MIMEtype: image/jp2
[remco@localhost prime]$ jhove -m JPEG2000-hul ~/preservation/format-corpus-master/jp2k-test/resolution/balloon_oj.jp2
jul 08, 2025 11:09:39 A.M. edu.harvard.hul.ois.jhove.JhoveBase process
SEVERE: Validation ended prematurely due to an unhandled exception.
java.lang.NullPointerException: Null value not permitted for property: 
	at edu.harvard.hul.ois.jhove.Property.init(Property.java:77)
	at edu.harvard.hul.ois.jhove.Property.<init>(Property.java:66)
	at edu.harvard.hul.ois.jhove.module.jpeg2000.COCMarkerSegment.process(COCMarkerSegment.java:111)
	at edu.harvard.hul.ois.jhove.module.jpeg2000.ContCodestream.readCodestream(ContCodestream.java:132)
	at edu.harvard.hul.ois.jhove.module.jpeg2000.ContCodestreamBox.readBox(ContCodestreamBox.java:61)
	at edu.harvard.hul.ois.jhove.module.Jpeg2000Module.readBoxes(Jpeg2000Module.java:774)
	at edu.harvard.hul.ois.jhove.module.Jpeg2000Module.parse(Jpeg2000Module.java:384)
	at edu.harvard.hul.ois.jhove.JhoveBase.processFile(JhoveBase.java:831)
	at edu.harvard.hul.ois.jhove.JhoveBase.process(JhoveBase.java:603)
	at edu.harvard.hul.ois.jhove.JhoveBase.dispatch(JhoveBase.java:479)
	at edu.harvard.hul.ois.jhove.Jhove.main(Jhove.java:265)

Jhove (Rel. 1.30.0, 2024-06-03)
 Date: 2025-07-08 11:09:39 CEST
 RepresentationInformation: /home/remco/preservation/format-corpus-master/jp2k-test/resolution/balloon_oj.jp2
  ReportingModule: JPEG2000-hul, Rel. 1.4.4 (2023-03-16)
  LastModified: 2023-05-10 12:53:42 CEST
  Size: 670372
  Format: JPEG 2000
  Status: Unknown
  SignatureMatches:
   JPEG2000-hul
  ErrorMessage: Validation ended prematurely due to an unhandled exception.
   ID: JHOVE-CORE-5
  MIMEtype: image/jp2

Metadata

Metadata

Assignees

No one assigned

    Labels

    P1High priority issues to be scheduled in the upcoming release

    Type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions