Invalid OID field exception
Describe the bug This file is thought to have valid metadata is and used often for testing
java.lang.IllegalArgumentException: Invalid OID field
at org.jmisb.api.klv.UniversalLabel.testValidity(UniversalLabel.java:71)
at org.jmisb.api.klv.UniversalLabel.
Can you show the parser inputs? The problem actually looks like it might be further "down", given the Index 16 out of bounds for length 16 part. That looks like we may be going wrong earlier.
Can you make the file available, or provide the name?
I cannot share the whole file, but I might be able to take 1 0601 block and share it. Where do you think the issue is? Would that suffice?
Remote debugging is pretty hard - I'm not 100% sure what the problem is.
If you can dump out the byte array at KlvParser.java:41 that might help.
is this what you wanted?
[MetadataDecodeThread - <filename>] ERROR org.jmisb.api.klv.KlvParser - Exception thrown by parser
java.lang.IllegalArgumentException: Invalid OID field
at org.jmisb.api.klv.UniversalLabel.testValidity(UniversalLabel.java:71)
at org.jmisb.api.klv.UniversalLabel.<init>(UniversalLabel.java:21)
at org.jmisb.api.klv.KlvParser.parseBytes(KlvParser.java:51)
at org.jmisb.api.video.MetadataDecodeThread.run(MetadataDecodeThread.java:102)
[MetadataDecodeThread - <filename>] ERROR org.jmisb.api.video.MetadataDecodeThread - KLV parse exception
org.jmisb.api.common.KlvParseException: Invalid OID field
at org.jmisb.api.klv.KlvParser.parseBytes(KlvParser.java:88)
at org.jmisb.api.video.MetadataDecodeThread.run(MetadataDecodeThread.java:102)
Next Message bytes[]: 0x01, 0x01, 0x01, 0x0f, 0x0f, 0x52, 0x41, 0x59, 0x01, 0x00, 0x00, 0x81, 0xc8, 0x01, 0x40, 0xdc,
0xfe, 0xff, 0xff, 0xff, 0xf5, 0xff, 0xff, 0xff, 0xf6, 0x00, 0x00, 0x69, 0x37, 0x34, 0xaf, 0xc0,
0x00, 0x19, 0x58, 0xaf, 0x11, 0xac, 0x52, 0xe6, 0x08, 0x00, 0x00, 0x00, 0x00, 0x04, 0x67, 0x16,
0x4f, 0x01, 0x33, 0x00, 0x00, 0xac, 0xc6, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x3f, 0x7f, 0xfd, 0x0a, 0xa8, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x21, 0x31, 0x7d, 0x7d, 0x18,
0x2c, 0x00, 0x08, 0x53, 0x40, 0x00, 0x00, 0x92, 0x00, 0x90, 0x0a, 0x90, 0x0a, 0x91, 0xa6, 0x00,
0x00, 0xdc, 0x00, 0x6d, 0x74, 0x00, 0x00, 0xc2, 0xac, 0x00, 0x00, 0x00, 0x00, 0xc0, 0x00, 0x80,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
[MetadataDecodeThread - <filename>] ERROR org.jmisb.api.klv.KlvParser - Exception thrown by parser
java.lang.IllegalArgumentException: Invalid OID field
at org.jmisb.api.klv.UniversalLabel.testValidity(UniversalLabel.java:71)
at org.jmisb.api.klv.UniversalLabel.<init>(UniversalLabel.java:21)
at org.jmisb.api.klv.KlvParser.parseBytes(KlvParser.java:51)
at org.jmisb.api.video.MetadataDecodeThread.run(MetadataDecodeThread.java:102)
[MetadataDecodeThread - <filename>] ERROR org.jmisb.api.video.MetadataDecodeThread - KLV parse exception
org.jmisb.api.common.KlvParseException: Invalid OID field
at org.jmisb.api.klv.KlvParser.parseBytes(KlvParser.java:88)
at org.jmisb.api.video.MetadataDecodeThread.run(MetadataDecodeThread.java:102)
[MetadataDecodeThread - <filename>] ERROR org.jmisb.api.video.MetadataDecodeThread - KLV parse exception
org.jmisb.api.common.KlvParseException: Length exceeds available bytes
at org.jmisb.api.klv.KlvParser.getNextMessage(KlvParser.java:140)
at org.jmisb.api.klv.KlvParser.parseBytes(KlvParser.java:42)
at org.jmisb.api.video.MetadataDecodeThread.run(MetadataDecodeThread.java:102)
Exception in thread "MetadataDecodeThread - <filename>" java.lang.ArrayIndexOutOfBoundsException: Index 16 out of bounds for length 16
at org.jmisb.api.klv.KlvParser.getNextMessage(KlvParser.java:113)
at org.jmisb.api.klv.KlvParser.parseBytes(KlvParser.java:42)
at org.jmisb.api.video.MetadataDecodeThread.run(MetadataDecodeThread.java:102)
Is that the start of the first packet? Looks more like something from mid-stream.
I rechecked, and this is the very first packet that's printed out and the parser errors out immediately after that one
Then I have no real idea what is happening. That doesn't look like KLV Universal Label I can recognise.
Any chance you can at least tell me the name of the file (even privately: [email protected])