Bug Lots of MediaInfo crashes with 2.9.3
#1
I try to summarize it a bit.

1.) I tried to mass re-read the mediainfo from my "*-mediainfo.xml" files. With a datasource filter I reduced the view to a harddisk with ~250 movies. I tried that several times for different harddisks. At some point in the middle of the processing TMM stucks or crashes - always:

Code:
2017-04-04 10:47:38,457 DEBUG [tmmpool-reloadMI-T1-G1116] o.t.core.entities.MediaFile:1486 - start MediaInfo for \\TOWER\disk3\Filme\D\Das Kann Doch Unsren Willi Nicht Erschuettern 1970\Das Kann Doch Unsren Willi Nicht Erschuettern 1970.iso
2017-04-04 10:47:38,769 DEBUG [tmmpool-reloadMI-T1-G1116] o.t.core.entities.MediaFile:1486 - start MediaInfo for \\TOWER\disk3\Filme\D\Das Kann Doch Unsren Willi Nicht Erschuettern 1970\Das Kann Doch Unsren Willi Nicht Erschuettern 1970.iso\VIDEO_TS\VTS_01_1.VOB
2017-04-04 10:47:39,033 DEBUG [tmmpool-reloadMI-T1-G1116] o.t.core.entities.MediaFile:1486 - start MediaInfo for \\TOWER\disk3\Filme\D\Das Kann Doch Unsren Willi Nicht Erschuettern 1970\Das Kann Doch Unsren Willi Nicht Erschuettern 1970.iso\VIDEO_TS\VTS_01_2.VOB
2017-04-04 10:47:39,295 DEBUG [tmmpool-reloadMI-T1-G1116] o.t.core.entities.MediaFile:1486 - start MediaInfo for \\TOWER\disk3\Filme\D\Das Kann Doch Unsren Willi Nicht Erschuettern 1970\Das Kann Doch Unsren Willi Nicht Erschuettern 1970.iso\VIDEO_TS\VTS_01_3.VOB
2017-04-04 10:47:39,390 ERROR [tmmpool-reloadMI-T1-G1116] o.t.core.entities.MediaFile:1376 - Mediainfo could not open file STREAM
java.lang.Error: Invalid memory access
    at com.sun.jna.Native.invokeInt(Native Method)
    at com.sun.jna.Function.invoke(Function.java:390)
    at com.sun.jna.Function.invoke(Function.java:323)
    at com.sun.jna.Library$Handler.invoke(Library.java:236)
    at org.tinymediamanager.thirdparty.$Proxy12.Open_Buffer_Continue(Unknown Source)
    at org.tinymediamanager.thirdparty.MediaInfo.openBufferContinue(MediaInfo.java:130)
    at org.tinymediamanager.core.entities.MediaFile.getMediaInfoSnapshotFromISO(MediaFile.java:1339)
    at org.tinymediamanager.core.entities.MediaFile.gatherMediaInformation(MediaFile.java:1489)
    at org.tinymediamanager.core.MediaFileInformationFetcherTask.call(MediaFileInformationFetcherTask.java:95)
    at org.tinymediamanager.core.MediaFileInformationFetcherTask.call(MediaFileInformationFetcherTask.java:38)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
2017-04-04 10:47:39,391 ERROR [tmmpool-main-task-T35-G342] o.t.core.threading.TmmThreadPool:110 - ThreadPool reloadMI: Error getting result!
java.util.concurrent.ExecutionException: java.lang.Error: Invalid memory access
    at java.util.concurrent.FutureTask.report(Unknown Source)
    at java.util.concurrent.FutureTask.get(Unknown Source)
    at org.tinymediamanager.core.threading.TmmThreadPool.waitForCompletionOrCancel(TmmThreadPool.java:104)
    at org.tinymediamanager.core.movie.tasks.MovieReloadMediaInformationTask.doInBackground(MovieReloadMediaInformationTask.java:68)
    at org.tinymediamanager.core.threading.TmmTask.run(TmmTask.java:125)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.Error: Invalid memory access
    at com.sun.jna.Native.invokeVoid(Native Method)
    at com.sun.jna.Function.invoke(Function.java:374)
    at com.sun.jna.Function.invoke(Function.java:323)
    at com.sun.jna.Library$Handler.invoke(Library.java:236)
    at org.tinymediamanager.thirdparty.$Proxy12.Close(Unknown Source)
    at org.tinymediamanager.thirdparty.MediaInfo.close(MediaInfo.java:459)
    at org.tinymediamanager.core.entities.MediaFile.getMediaInfoSnapshotFromISO(MediaFile.java:1377)
    at org.tinymediamanager.core.entities.MediaFile.gatherMediaInformation(MediaFile.java:1489)
    at org.tinymediamanager.core.MediaFileInformationFetcherTask.call(MediaFileInformationFetcherTask.java:95)
    at org.tinymediamanager.core.MediaFileInformationFetcherTask.call(MediaFileInformationFetcherTask.java:38)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    ... 3 common frames omitted

2.) I can see that TMM hangs in a loop while interpreting audio streams of some "*-mediainfo.xml" files:

Code:
2017-04-04 10:35:19,027 DEBUG [tmmpool-reloadMI-T1-G569] o.t.core.entities.MediaFile:1486 - start MediaInfo for \\TOWER\disk2\Filme\D\Der Exorzismus Von Emily Rose 2005 [HD]\Der Exorzismus Von Emily Rose 2005 [HD].iso
2017-04-04 10:35:19,029 INFO  [tmmpool-reloadMI-T1-G569] o.t.core.entities.MediaFile:1278 - ISO: try to parse \\TOWER\disk2\Filme\D\Der Exorzismus Von Emily Rose 2005 [HD]\Der Exorzismus Von Emily Rose 2005 [HD]-mediainfo.xml
2017-04-04 10:35:56,266 DEBUG [tmmpool-reloadMI-T1-G569] o.t.core.entities.MediaFile:1822 - found language 'english' in 'Der Exorzismus Von Emily Rose 2005 [HD].iso
2017-04-04 10:35:56,267 DEBUG [tmmpool-reloadMI-T1-G569] o.t.core.entities.MediaFile:1822 - found language 'german' in 'Der Exorzismus Von Emily Rose 2005 [HD].iso
2017-04-04 10:35:56,267 DEBUG [tmmpool-reloadMI-T1-G569] o.t.core.entities.MediaFile:1822 - found language 'german' in 'Der Exorzismus Von Emily Rose 2005 [HD].iso
2017-04-04 10:35:56,268 DEBUG [tmmpool-reloadMI-T1-G569] o.t.core.entities.MediaFile:1822 - found language 'english' in 'Der Exorzismus Von Emily Rose 2005 [HD].iso
2017-04-04 10:35:56,268 DEBUG [tmmpool-reloadMI-T1-G569] o.t.core.entities.MediaFile:1822 - found language 'german' in 'Der Exorzismus Von Emily Rose 2005 [HD].iso
2017-04-04 10:35:56,269 DEBUG [tmmpool-reloadMI-T1-G569] o.t.core.entities.MediaFile:1822 - found language 'german' in 'Der Exorzismus Von Emily Rose 2005 [HD].iso
2017-04-04 10:35:56,269 DEBUG [tmmpool-reloadMI-T1-G569] o.t.core.entities.MediaFile:1822 - found language 'english' in 'Der Exorzismus Von Emily Rose 2005 [HD].iso
2017-04-04 10:35:56,270 DEBUG [tmmpool-reloadMI-T1-G569] o.t.core.entities.MediaFile:1822 - found language 'german' in 'Der Exorzismus Von Emily Rose 2005 [HD].iso
2017-04-04 10:35:56,270 DEBUG [tmmpool-reloadMI-T1-G569] o.t.core.entities.MediaFile:1822 - found language 'german' in 'Der Exorzismus Von Emily Rose 2005 [HD].iso
[... thousands of lines]

3.) Another type of error:

Code:
2017-04-04 10:32:59,324 DEBUG [tmmpool-reloadMI-T1-G97] o.t.core.entities.MediaFile:1486 - start MediaInfo for \\TOWER\disk1\Filme\B\Batman 03 Batman Forever 1995 [HD]\Batman 03 Batman Forever 1995 [HD].iso
2017-04-04 10:32:59,325 INFO  [tmmpool-reloadMI-T1-G97] o.t.core.entities.MediaFile:1278 - ISO: try to parse \\TOWER\disk1\Filme\B\Batman 03 Batman Forever 1995 [HD]\Batman 03 Batman Forever 1995 [HD]-mediainfo.xml
2017-04-04 10:32:59,382 WARN  [tmmpool-reloadMI-T1-G97] o.t.core.entities.MediaFile:1295 - ISO: Unable to parse \\TOWER\disk1\Filme\B\Batman 03 Batman Forever 1995 [HD]\Batman 03 Batman Forever 1995 [HD]-mediainfo.xml
javax.xml.bind.UnmarshalException: null
    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.createUnmarshalException(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.createUnmarshalException(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal0(Unknown Source)
    at com.sun.xml.internal.bind.v2.runtime.unmarshaller.UnmarshallerImpl.unmarshal(Unknown Source)
    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
    at javax.xml.bind.helpers.AbstractUnmarshallerImpl.unmarshal(Unknown Source)
    at org.tinymediamanager.core.entities.MediaFile.getMediaInfoSnapshotFromISO(MediaFile.java:1285)
    at org.tinymediamanager.core.entities.MediaFile.gatherMediaInformation(MediaFile.java:1489)
    at org.tinymediamanager.core.MediaFileInformationFetcherTask.call(MediaFileInformationFetcherTask.java:95)
    at org.tinymediamanager.core.MediaFileInformationFetcherTask.call(MediaFileInformationFetcherTask.java:38)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: org.xml.sax.SAXParseException: XML-Dokumentstrukturen müssen innerhalb derselben Entity beginnen und enden.
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(Unknown Source)
    at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLScanner.reportFatalError(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.endEntity(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.endEntity(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityManager.endEntity(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.load(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLEntityScanner.peekChar(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentContentDriver.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(Unknown Source)
    at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocument(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(Unknown Source)
    at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(Unknown Source)
    ... 14 common frames omitted
2017-04-04 10:32:59,419 ERROR [tmmpool-reloadMI-T1-G97] o.t.core.entities.MediaFile:1387 - Mediainfo could not open STREAM - trying fallback
java.lang.RuntimeException: com.github.stephenc.javaisotools.loopfs.api.LoopFileSystemException: Invalid block size: 0
    at com.github.stephenc.javaisotools.loopfs.spi.AbstractBlockFileSystem.iterator(AbstractBlockFileSystem.java:63)
    at org.tinymediamanager.core.entities.MediaFile.getMediaInfoSnapshotFromISO(MediaFile.java:1309)
    at org.tinymediamanager.core.entities.MediaFile.gatherMediaInformation(MediaFile.java:1489)
    at org.tinymediamanager.core.MediaFileInformationFetcherTask.call(MediaFileInformationFetcherTask.java:95)
    at org.tinymediamanager.core.MediaFileInformationFetcherTask.call(MediaFileInformationFetcherTask.java:38)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
    at java.util.concurrent.FutureTask.run(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at java.lang.Thread.run(Unknown Source)
Caused by: com.github.stephenc.javaisotools.loopfs.api.LoopFileSystemException: Invalid block size: 0
    at com.github.stephenc.javaisotools.loopfs.iso9660.Iso9660VolumeDescriptorSet.validateBlockSize(Iso9660VolumeDescriptorSet.java:210)
    at com.github.stephenc.javaisotools.loopfs.iso9660.Iso9660VolumeDescriptorSet.deserializePrimary(Iso9660VolumeDescriptorSet.java:128)
    at com.github.stephenc.javaisotools.loopfs.iso9660.Iso9660VolumeDescriptorSet.deserialize(Iso9660VolumeDescriptorSet.java:99)
    at com.github.stephenc.javaisotools.loopfs.spi.AbstractBlockFileSystem.loadVolumeDescriptors(AbstractBlockFileSystem.java:78)
    at com.github.stephenc.javaisotools.loopfs.spi.AbstractBlockFileSystem.iterator(AbstractBlockFileSystem.java:61)
    ... 10 common frames omitted

4.) A concurrency error happened once when right mouse button on a movie and "Reread mediainformation", wait for completion and do that again for the next movie in the list.

Thanks.
#2
Thx for information.

1) new MI seems to be borked again :| we will revert to 0.7.93 which works...
2) can you send me the XML?
3) same, please send XML (seems no be invalid / non-conform)
4) hmm.... have to try...
tinyMediaManager - THE media manager of your choice :)
Wanna help translate TMM ?
Image
#3
Thanks for your fast answer.

1.) Mediainfo 0.7.94 is buggy, at least the CLI version exits with "E file not found" errors here. However, TMM interprets my pre-generated "*-mediainfo.xml" files. Mediainfo is not used in that case. My XML files are produced with 0.7.88-0.7.93.

1a.) The first case above was a missing XML file. I did pre-generate the XML with Mediainfo 0.7.93 and it works for that file now. Seems that your included Mediainfo 0.7.94 causes that error - just my guess.

2.) Was pre-generated with Mediainfo 0.7.88. I did a fresh 0.7.93 run. Mediainfo seems to produce garbage on that ISO file. Please ignore that. However here's the XML. After the XML upload I did delete the XML and let TMM read the ISO. Same error. Seems that the ISO has a problem. Will investigate further:

Mediainfo (garbage)

3.) Here's the XML of the third one. This one looks ok. No idea why TMM produces an error here:

Mediainfo
#4
2) the Batman xml IS invalid - the end tags are missing..
(should end with </File> </Mediainfo> to be xml conform)


3) Emily Rose one is completely borked. Seems like a copy protected DVD with structural errors... (or a faulty mediainfo)
At least, it is over 200.000 lines long (!), reports to have around ~3000 video tracks, all with 1min (!), ~3000 audio streams (!) and so on....
So TMM is not looping indefinitely, the xml HAS so many entries Wink
tinyMediaManager - THE media manager of your choice :)
Wanna help translate TMM ?
Image
#5
hotfix is live, MediaInfo should not crash TMM anylonger Smile
tinyMediaManager - THE media manager of your choice :)
Wanna help translate TMM ?
Image

Logout Mark Read Team Forum Stats Members Help
Lots of MediaInfo crashes with 2.9.30