JPEXS Free Flash Decompiler Issue Tracker

If you are looking for the decompiler itself, visit https://github.com/jindrapetrik/jpexs-decompiler

NEW : We have got a new blog where we post some interesting SWF internals info.

List of issuesList of issues

#1904 Some SWFs won't load with a NullPointerException
Author: user DoomTay
Date created:
Type: bug
Visibility: Everybody
Assigned to:
State: closed Help

> What steps will reproduce the problem? Open either "interface.swf" or "download.swf" > What is the expected output? What do you see instead? > What version of the product are you using? Is it "nightly build"? Which operating system do you have? 18.0.0, Windows 10 > Please provide any additional information below. If the problem is related to a SWF file, attach it here, otherwise we can't help you. Both of these were able to open up to version 16.0.4, and "download" was able to be opened until at least version 16.3.0
Downloadinterface.swf (994 KiB)Downloaddownload.swf (175 KiB)
user
I'm not seeing any NullPointerException when I open either SWF file in FFDEC 18.0.0. Can you provide more details about the error? You should be able to click the button in the bottom-right corner of the FFDEC window to see the error details, and then you can click a button next to the error to copy it.
admin
Yes, I can't reproduce it too. Please attach the error log of the NullPointerException or specify more what are exact steps to reproduce. I tried open file button and also drag and drop, everything worked for me in "18.0.0". There should be red icon in the lower right corner upon Nullpointer raising as nosamu said.
user
I got the exception, but not when opening it. I got it while browsing around in the file interface.swf, also it seems to happen randomly and I can never reproduce it consistently. Last time it happened after I opened it and clicked on Images in the tree. SEVERE Uncaught exception in thread: AWT-EventQueue-0 java.lang.NullPointerException at com.jpexs.decompiler.flash.gui.ErrorLogFrame.lambda$log$0(ErrorLogFrame.java:317) at java.awt.event.InvocationEvent.dispatch(Unknown Source) at java.awt.EventQueue.dispatchEventImpl(Unknown Source) at java.awt.EventQueue.access$500(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.awt.EventQueue$3.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(Unknown Source) at java.awt.EventQueue.dispatchEvent(Unknown Source) at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source) at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.pumpEvents(Unknown Source) at java.awt.EventDispatchThread.run(Unknown Source)
user
In my case, it happens immediately on opening the file interface.swf 19/12/2022 20:45:20 SEVERE null java.util.concurrent.ExecutionException: java.lang.NullPointerException at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at com.jpexs.helpers.CancellableWorker.get(CancellableWorker.java:126) at com.jpexs.decompiler.flash.gui.Main.parseOpenable(Main.java:1213) at com.jpexs.decompiler.flash.gui.Main$OpenFileWorker.doInBackground(Main.java:1470) at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:835) Caused by: java.lang.NullPointerException at java.base/java.lang.String.getBytes(String.java:949) at com.jpexs.decompiler.flash.SWFOutputStream.writeString(SWFOutputStream.java:182) at com.jpexs.decompiler.flash.action.swf4.ActionPush.getContentBytes(ActionPush.java:133) at com.jpexs.decompiler.flash.action.Action.getBytes(Action.java:348) at com.jpexs.decompiler.flash.action.Action.actionsToBytes(Action.java:423) at com.jpexs.decompiler.flash.action.Action.actionsToByteArrayRange(Action.java:434) at com.jpexs.decompiler.flash.tags.DoInitActionTag.setActions(DoInitActionTag.java:163) at com.jpexs.decompiler.flash.SWF.renameAS2Identifiers(SWF.java:2971) at com.jpexs.decompiler.flash.SWF.deobfuscateAS2Identifiers(SWF.java:2740) at com.jpexs.decompiler.flash.SWF.deobfuscateIdentifiers(SWF.java:2729) at com.jpexs.decompiler.flash.SWF.<init>(SWF.java:1496) at com.jpexs.decompiler.flash.gui.Main$9.open(Main.java:1027) at com.jpexs.decompiler.flash.gui.Main$9.doInBackground(Main.java:1202) at com.jpexs.decompiler.flash.gui.Main$9.doInBackground(Main.java:992) at com.jpexs.helpers.CancellableWorker$1.call(CancellableWorker.java:61) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at com.jpexs.helpers.CancellableWorker.run(CancellableWorker.java:78) ... 3 more download.swf 19/12/2022 20:47:03 SEVERE null java.util.concurrent.ExecutionException: java.lang.NullPointerException at java.base/java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.base/java.util.concurrent.FutureTask.get(FutureTask.java:191) at com.jpexs.helpers.CancellableWorker.get(CancellableWorker.java:126) at com.jpexs.decompiler.flash.gui.Main.parseOpenable(Main.java:1213) at com.jpexs.decompiler.flash.gui.Main$OpenFileWorker.doInBackground(Main.java:1470) at java.desktop/javax.swing.SwingWorker$1.call(SwingWorker.java:304) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at java.desktop/javax.swing.SwingWorker.run(SwingWorker.java:343) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628) at java.base/java.lang.Thread.run(Thread.java:835) Caused by: java.lang.NullPointerException at java.base/java.lang.String.getBytes(String.java:949) at com.jpexs.decompiler.flash.SWFOutputStream.writeString(SWFOutputStream.java:182) at com.jpexs.decompiler.flash.action.swf4.ActionPush.getContentBytes(ActionPush.java:133) at com.jpexs.decompiler.flash.action.Action.getBytes(Action.java:348) at com.jpexs.decompiler.flash.action.Action.actionsToBytes(Action.java:423) at com.jpexs.decompiler.flash.action.Action.actionsToByteArrayRange(Action.java:434) at com.jpexs.decompiler.flash.types.CLIPACTIONRECORD.setActions(CLIPACTIONRECORD.java:271) at com.jpexs.decompiler.flash.SWF.renameAS2Identifiers(SWF.java:2971) at com.jpexs.decompiler.flash.SWF.deobfuscateAS2Identifiers(SWF.java:2740) at com.jpexs.decompiler.flash.SWF.deobfuscateIdentifiers(SWF.java:2723) at com.jpexs.decompiler.flash.SWF.<init>(SWF.java:1496) at com.jpexs.decompiler.flash.gui.Main$9.open(Main.java:1027) at com.jpexs.decompiler.flash.gui.Main$9.doInBackground(Main.java:1202) at com.jpexs.decompiler.flash.gui.Main$9.doInBackground(Main.java:992) at com.jpexs.helpers.CancellableWorker$1.call(CancellableWorker.java:61) at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264) at com.jpexs.helpers.CancellableWorker.run(CancellableWorker.java:78) ... 3 more
admin
The exceptions should be fixed in nightly 2338. To STA20: The error in ErrorLogFrame is weird, but I added a workaround that may help, try it. I also found and fixed another Nullpointer when fast switching displayed swf/sprites, that might be related. To the OP (DoomTay): Your problem only appeared when the setting "Auto rename identifiers" is on. I strongly discourage against this setting to be on as it may damage the SWF file when you save it. I added a warning when you try to turn it on, so now it seems to be clear what it does.
State: new→upgraded
admin
State: upgraded→closed