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

All your suggestions, requests and ideas for future development
Post Reply
Djoss
Posts: 22
Joined: 30 Jul 2018, 17:24

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

Post 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
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

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

Post 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.
:idea: Please read the FAQ and How to Request Help.
Djoss
Posts: 22
Joined: 30 Jul 2018, 17:24

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

Post 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 ?
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

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

Post 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)
:idea: Please read the FAQ and How to Request Help.
Djoss
Posts: 22
Joined: 30 Jul 2018, 17:24

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

Post 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.
User avatar
rednoah
The Source
Posts: 22923
Joined: 16 Nov 2011, 08:59
Location: Taipei
Contact:

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

Post 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:
:idea: Please read the FAQ and How to Request Help.
Post Reply