Page 1 of 1

Suppressing "NegativeArraySizeException" log messages

PostPosted: Thu May 09, 2013 1:17 pm
by ianch99
Hello,

I am using Serviio 1.2.1 on a Debian (OMV) install and am getting a lot of log messages from image scanning that are filling the logs. So much so, the important "added file" messages are lost. I have added an example below of the WARNING message. I looked at the log4j config but if I read it right, I am unable to suppress these WARNINGs without losing the INFO entries that record the new or updated files?

2013-05-09 13:58:53,209 WARN [LibraryAdditionsCheckerThread] Cannot add file IMG_20120717_095200.jpg because of an unexpected error. Message: null
java.lang.NegativeArraySizeException
at org.apache.sanselan.formats.tiff.fieldtypes.FieldType.getRawBytes(FieldType.java:77)
at org.apache.sanselan.formats.tiff.fieldtypes.FieldTypeShort.getSimpleValue(FieldTypeShort.java:52)
at org.apache.sanselan.formats.tiff.constants.TagInfo.getValue(TagInfo.java:98)
at org.apache.sanselan.formats.tiff.constants.TagInfo$Unknown.getValue(TagInfo.java:443)
at org.apache.sanselan.formats.tiff.TiffField.getValue(TiffField.java:577)
at org.apache.sanselan.formats.tiff.TiffField.getValueDescription(TiffField.java:317)
at org.apache.sanselan.formats.tiff.TiffImageMetadata$Item.<init>(TiffImageMetadata.java:193)
at org.apache.sanselan.formats.tiff.TiffImageMetadata$Directory.add(TiffImageMetadata.java:65)
at org.apache.sanselan.formats.tiff.TiffImageParser.getMetadata(TiffImageParser.java:143)
at org.apache.sanselan.ImageParser.getMetadata(ImageParser.java:81)
at org.apache.sanselan.formats.jpeg.JpegImageParser.getExifMetadata(JpegImageParser.java:366)
at org.apache.sanselan.formats.jpeg.JpegImageParser.getMetadata(JpegImageParser.java:307)
at org.apache.sanselan.formats.jpeg.JpegImageParser.getImageInfo(JpegImageParser.java:729)
at org.apache.sanselan.Sanselan.getImageInfo(Sanselan.java:589)
at org.apache.sanselan.Sanselan.getImageInfo(Sanselan.java:479)
at org.serviio.library.local.metadata.extractor.embedded.ImageExtractionStrategy.extractMetadata(ImageExtractionStrategy.java:43)
at org.serviio.library.local.metadata.extractor.embedded.JPEGExtractionStrategy.extractMetadata(JPEGExtractionStrategy.java:63)
at org.serviio.library.metadata.SanselanMetadataRetriever.retrieveImageMetadata(SanselanMetadataRetriever.java:69)
at org.serviio.library.metadata.ImageMetadataRetriever.retrieveImageMetadata(ImageMetadataRetriever.java:36)
at org.serviio.library.local.metadata.extractor.embedded.EmbeddedMetadataExtractor.retrieveImageMetadata(EmbeddedMetadataExtractor.java:219)
at org.serviio.library.local.metadata.extractor.embedded.EmbeddedMetadataExtractor.retrieveMetadata(EmbeddedMetadataExtractor.java:131)
at org.serviio.library.local.metadata.extractor.MetadataExtractor.extract(MetadataExtractor.java:47)
at org.serviio.library.local.LibraryManager.extractMetadata(LibraryManager.java:225)
at org.serviio.library.local.metadata.LibraryAdditionsCheckerThread.addNewMediaFile(LibraryAdditionsCheckerThread.java:178)
at org.serviio.library.local.metadata.LibraryAdditionsCheckerThread.searchForNewFiles(LibraryAdditionsCheckerThread.java:145)
at org.serviio.library.local.metadata.LibraryAdditionsCheckerThread.searchForNewFiles(LibraryAdditionsCheckerThread.java:134)
at org.serviio.library.local.metadata.LibraryAdditionsCheckerThread.searchForNewFiles(LibraryAdditionsCheckerThread.java:134)
at org.serviio.library.local.metadata.LibraryAdditionsCheckerThread.run(LibraryAdditionsCheckerThread.java:83)

Re: Suppressing "NegativeArraySizeException" log messages

PostPosted: Thu May 09, 2013 1:33 pm
by zip
No, I'm affraid. That said, could you send me one of these images to zip[at]serviio[dot]org ? I will try to have a look why we're seeing this and if it can be avoided.

Re: Suppressing "NegativeArraySizeException" log messages

PostPosted: Thu May 09, 2013 2:02 pm
by ianch99
zip wrote:No, I'm affraid. That said, could you send me one of these images to zip[at]serviio[dot]org ? I will try to have a look why we're seeing this and if it can be avoided.

Thanks for the quick reply. I will send you one of the images but it seems there are a number:
ianch@ianch-hp:/usr/share/serviio/log$ grep -i "Cannot add file.*jpg" serviio.log* | awk '{ print $8 }' | sort -u | wc -l
65

It would be a lot cleaner in the logs if the stacktrace was removed from this particular log entry, something like:
2013-05-09 14:52:18,693 WARN [LibraryAdditionsCheckerThread] Cannot add file IMG_20120715_094200.jpg because of an unexpected error. Message: nulljava.lang.NegativeArraySizeException
2013-05-09 14:52:18,696 WARN [LibraryAdditionsCheckerThread] Cannot add file IMG_20120717_100558.jpg because of an unexpected error. Message: null java.lang.NegativeArraySizeException

with a system property to print stack traces if required for debug e.g. -Dserviio.metadata.extractor.printStackTrace=true