Page 1 of 1

FileBot 4.9.3: Crash when matching file against TheMovieDB in episode mode

Posted: 20 Feb 2021, 02:52
by Djoss
Matching a file against TheMovieDB in episode mode produce the following exception. Note that this exception is produced in loop.

Code: Select all

Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
	at java.util.Objects.requireNonNull(Objects.java:203)
	at java.lang.String.join(String.java:2522)
	at net.filebot.ui.SelectDialog.getToolTipText(Unknown Source)
	at net.filebot.ui.SelectDialog$1.getListCellRendererComponent(Unknown Source)
	at javax.swing.plaf.basic.BasicListUI.paintCell(BasicListUI.java:208)
	at javax.swing.plaf.basic.BasicListUI.paintImpl(BasicListUI.java:316)
	at javax.swing.plaf.basic.BasicListUI.paint(BasicListUI.java:239)
	at javax.swing.plaf.synth.SynthListUI.update(SynthListUI.java:79)
	at javax.swing.JComponent.paintComponent(JComponent.java:771)
	at javax.swing.JComponent.paint(JComponent.java:1047)
	at javax.swing.JComponent.paintChildren(JComponent.java:880)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JViewport.paint(JViewport.java:728)
	at javax.swing.JComponent.paintChildren(JComponent.java:880)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintChildren(JComponent.java:880)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintChildren(JComponent.java:880)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JLayeredPane.paint(JLayeredPane.java:586)
	at javax.swing.JComponent.paintChildren(JComponent.java:880)
	at javax.swing.JComponent.paint(JComponent.java:1056)
	at javax.swing.JComponent.paintToOffscreen(JComponent.java:5201)
	at javax.swing.BufferStrategyPaintManager.paint(BufferStrategyPaintManager.java:290)
	at javax.swing.RepaintManager.paint(RepaintManager.java:1272)
	at javax.swing.JComponent._paintImmediately(JComponent.java:5149)
	at javax.swing.JComponent.paintImmediately(JComponent.java:4960)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:854)
	at javax.swing.RepaintManager$4.run(RepaintManager.java:814)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:814)
	at javax.swing.RepaintManager.paintDirtyRegions(RepaintManager.java:789)
	at javax.swing.RepaintManager.prePaintDirtyRegions(RepaintManager.java:738)
	at javax.swing.RepaintManager.access$1200(RepaintManager.java:64)
	at javax.swing.RepaintManager$ProcessingRunnable.run(RepaintManager.java:1732)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:109)
	at java.awt.WaitDispatchSupport$2.run(WaitDispatchSupport.java:190)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:235)
	at java.awt.WaitDispatchSupport$4.run(WaitDispatchSupport.java:233)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.awt.WaitDispatchSupport.enter(WaitDispatchSupport.java:233)
	at java.awt.Dialog.show(Dialog.java:1084)
	at java.awt.Component.show(Component.java:1671)
	at java.awt.Component.setVisible(Component.java:1623)
	at java.awt.Window.setVisible(Window.java:1014)
	at java.awt.Dialog.setVisible(Dialog.java:1005)
	at net.filebot.ui.rename.EpisodeListMatcher.lambda$selectSearchResult$8(Unknown Source)
	at net.filebot.util.ui.SwingUI.lambda$showInputDialog$3(Unknown Source)
	at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:301)
	at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)
	at java.awt.EventQueue.access$500(EventQueue.java:97)
	at java.awt.EventQueue$3.run(EventQueue.java:709)
	at java.awt.EventQueue$3.run(EventQueue.java:703)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:74)
	at java.awt.EventQueue.dispatchEvent(EventQueue.java:728)
	at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:205)
	at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
	at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
	at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
Selecting another DB doesn't cause the issue. TheMovieDB in movie mode also works.

Code: Select all

FileBot 4.9.3 (r8335) JDK8
JNA Native: 5.2.2
MediaInfo: 18.08.1
Tools: fpcalc/1.4.3 p7zip/16.02 unrar/5.61
Extended Attributes: OK
Unicode Filesystem: OK
Script Bundle: 2020-12-01 (r724)
Groovy: 3.0.7
JRE: OpenJDK Runtime Environment 1.8.0_275
JVM: 64-bit OpenJDK 64-Bit Server VM
CPU/MEM: 12 Core / 7 GB Max Memory / 105 MB Used Memory
OS: Linux (amd64)
HW: Linux bc134abec752 4.15.0-129-generic #132-Ubuntu SMP Thu Dec 10 14:02:26 UTC 2020 x86_64 GNU/Linux
CPU/MEM: Intel(R) Xeon(R) CPU E5-2620 v3 @ 2.40GHz [MemTotal: 33 GB | MemFree: 3.6 GB | MemAvailable: 27 GB | SwapCached: 261 MB | SwapTotal: 17 GB | SwapFree: 16 GB]
STORAGE: aufs [/] @ 60 GB | ext4 [/output] @ 60 GB | ext4 [/storage] @ 60 GB | ext4 [/watch] @ 60 GB | ext4 [/config] @ 60 GB
DATA: /config

Re: FileBot 4.9.3: Crash when matching file against TheMovieDB in episode mode

Posted: 20 Feb 2021, 04:59
by rednoah
I see. Looks like it's possible for a series to not have a production country. Thanks for reporting!


EDIT:

Fixed with FileBot r8336.

Re: FileBot 4.9.3: Crash when matching file against TheMovieDB in episode mode

Posted: 20 Feb 2021, 16:32
by Djoss
Thanks! Will this build become and official release or it will ne kept as a beta version ? Also, is there a JDK8 variant for beta versions ?

Re: FileBot 4.9.3: Crash when matching file against TheMovieDB in episode mode

Posted: 21 Feb 2021, 05:22
by rednoah
I will update the release builds on Monday.


EDIT:

:?: You have an extremely powerful x86_64 machine. Why are you stuck with JDK 8 anyway? :lol:
(because the JDK 8 package will be phased out eventually, and really only exists for old hardware for which there aren't any Java 11 builds)

Re: FileBot 4.9.3: Crash when matching file against TheMovieDB in episode mode

Posted: 22 Feb 2021, 00:52
by Djoss
rednoah wrote: 21 Feb 2021, 05:22 :?: You have an extremely powerful x86_64 machine. Why are you stuck with JDK 8 anyway? :lol:
(because the JDK 8 package will be phased out eventually, and really only exists for old hardware for which there aren't any Java 11 builds)
I use FileBot running in a Docker container I'm maintaining. This is the limiting factor ;). I stick with JDK8 because this is the only version that has JavaFX build for musl/Alpine Linux.

Re: FileBot 4.9.3: Crash when matching file against TheMovieDB in episode mode

Posted: 22 Feb 2021, 03:56
by rednoah
Djoss wrote: 22 Feb 2021, 00:52 I stick with JDK8 because this is the only version that has JavaFX build for musl/Alpine Linux.
That's a very good reason! :lol: