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.

#939 Switch default clause causes NullpointerException
Author:
honfika

Date created:
Type: bug
Visibility: Everybody
Assigned to:
Labels: AS3DecompilationDeobfuscation
State: closed 

> What steps will reproduce the problem?
Open 2_original.swf (from issue tracker)
Check cmodule\decry\FSM_exit\work method.
> What is the expected output? What do you see instead?
Exception:
Jul 04, 2015 5:49:05 PM com.jpexs.decompiler.flash.abc.types.MethodBody convert
SEVERE: Decompilation error in cmodule.decry/FSM_exit.work
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at com.jpexs.helpers.CancellableWorker.get(CancellableWorker.java:99)
at com.jpexs.helpers.CancellableWorker.call(CancellableWorker.java:117)
at com.jpexs.decompiler.flash.abc.types.MethodBody.convert(MethodBody.java:271)
at
com.jpexs.decompiler.flash.abc.types.traits.TraitMethodGetterSetter.convert(TraitMethodGet
terSetter.java:87)
at
com.jpexs.decompiler.flash.abc.types.traits.Traits$TraitConvertTask.call(Traits.java:138)
at com.jpexs.decompiler.flash.abc.types.traits.Traits.convert(Traits.java:189)
at com.jpexs.decompiler.flash.abc.types.traits.TraitClass.convert(TraitClass.java:558)
at com.jpexs.decompiler.flash.abc.types.traits.Trait.convertPackaged(Trait.java:171)
at com.jpexs.decompiler.flash.abc.ScriptPack.convert(ScriptPack.java:152)
at com.jpexs.decompiler.flash.abc.ScriptPack$1.call(ScriptPack.java:186)
at com.jpexs.decompiler.flash.abc.ScriptPack$1.call(ScriptPack.java:183)
at com.jpexs.helpers.CancellableWorker$3.doInBackground(CancellableWorker.java:112)
at com.jpexs.helpers.CancellableWorker$1.call(CancellableWorker.java:49)
at java.util.concurrent.FutureTask.run(Unknown Source)
at com.jpexs.helpers.CancellableWorker.run(CancellableWorker.java:66)
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.NullPointerException
at com.jpexs.decompiler.graph.Graph.processIfs(Graph.java:592)
at com.jpexs.decompiler.graph.Graph.processIfs(Graph.java:597)
at com.jpexs.decompiler.graph.Graph.translate(Graph.java:451)
at
com.jpexs.decompiler.flash.abc.avm2.graph.AVM2Graph.translateViaGraph(AVM2Graph.java:142)
at com.jpexs.decompiler.flash.abc.avm2.AVM2Code.toGraphTargetItems(AVM2Code.java:1711)
at com.jpexs.decompiler.flash.abc.types.MethodBody$1.call(MethodBody.java:265)
at com.jpexs.decompiler.flash.abc.types.MethodBody$1.call(MethodBody.java:260)
... 7 more
> What version of the product are you using? Is it "nighlty build"? Which operating system
do you have?
6.0.0
> Please provide any additional information below. If the problem is related to a SWF
file, attach it here, otherwise we can't help you.
Another NullPointerexception, but it comes from a differen code line:
Jul 04, 2015 6:10:47 PM com.jpexs.decompiler.flash.abc.types.MethodBody convert
SEVERE: Decompilation error in §_-y1S§/§_-91k§.§_-hm§
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at com.jpexs.helpers.CancellableWorker.get(CancellableWorker.java:99)
at com.jpexs.helpers.CancellableWorker.call(CancellableWorker.java:117)
at com.jpexs.decompiler.flash.abc.types.MethodBody.convert(MethodBody.java:271)
at
com.jpexs.decompiler.flash.abc.types.traits.TraitMethodGetterSetter.convert(TraitMethodGet
terSetter.java:87)
at
com.jpexs.decompiler.flash.abc.types.traits.Traits$TraitConvertTask.call(Traits.java:138)
at com.jpexs.decompiler.flash.abc.types.traits.Traits.convert(Traits.java:189)
at com.jpexs.decompiler.flash.abc.types.traits.TraitClass.convert(TraitClass.java:556)
at com.jpexs.decompiler.flash.abc.types.traits.Trait.convertPackaged(Trait.java:171)
at com.jpexs.decompiler.flash.abc.ScriptPack.convert(ScriptPack.java:152)
at com.jpexs.decompiler.flash.abc.ScriptPack$1.call(ScriptPack.java:186)
at com.jpexs.decompiler.flash.abc.ScriptPack$1.call(ScriptPack.java:183)
at com.jpexs.helpers.CancellableWorker$3.doInBackground(CancellableWorker.java:112)
at com.jpexs.helpers.CancellableWorker$1.call(CancellableWorker.java:49)
at java.util.concurrent.FutureTask.run(Unknown Source)
at com.jpexs.helpers.CancellableWorker.run(CancellableWorker.java:66)
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.NullPointerException
71C0000 - 13.swf, class + method name is in the exception message.
Maybe I'm wrong, maybe it is the same problem, but the stacktrace is missing for some
reason.
I see the first one fixed now in the repository. Please try the second. It it is the same
problem, it should be fixed too.
Title: Decompilation error - NullPointerException→Switch default clause causes NullpointerException
Ok, both fixed.
State: upgraded→closed
Title: Switch default clause causes NullpointerException→Decompilation error - NullPointerException
Assigned: →
Title: Switch default clause causes NullpointerException→Decompilation error - NullPointerException
Assigned: →
Another NullPointerException in abyss-walker-the-los-16056.swf
Jul 05, 2015 7:25:23 AM com.jpexs.decompiler.flash.abc.types.MethodBody convert
SEVERE: Decompilation error in b28b7af69320201/§2e9c113f7a13363§.§19682bdb9185a5f§
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at com.jpexs.helpers.CancellableWorker.get(CancellableWorker.java:99)
at com.jpexs.helpers.CancellableWorker.call(CancellableWorker.java:117)
at com.jpexs.decompiler.flash.abc.types.MethodBody.convert(MethodBody.java:271)
at
com.jpexs.decompiler.flash.abc.types.traits.TraitMethodGetterSetter.convert(TraitMethodGet
terSetter.java:87)
at
com.jpexs.decompiler.flash.abc.types.traits.Traits$TraitConvertTask.call(Traits.java:138)
at com.jpexs.decompiler.flash.abc.types.traits.Traits.convert(Traits.java:189)
at com.jpexs.decompiler.flash.abc.types.traits.TraitClass.convert(TraitClass.java:558)
at com.jpexs.decompiler.flash.abc.types.traits.Trait.convertPackaged(Trait.java:171)
at com.jpexs.decompiler.flash.abc.ScriptPack.convert(ScriptPack.java:153)
at com.jpexs.decompiler.flash.abc.ScriptPack$1.call(ScriptPack.java:187)
at com.jpexs.decompiler.flash.abc.ScriptPack$1.call(ScriptPack.java:184)
at com.jpexs.helpers.CancellableWorker$3.doInBackground(CancellableWorker.java:112)
at com.jpexs.helpers.CancellableWorker$1.call(CancellableWorker.java:49)
at java.util.concurrent.FutureTask.run(Unknown Source)
at com.jpexs.helpers.CancellableWorker.run(CancellableWorker.java:66)
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.NullPointerException
State: closed→opened
Title: Decompilation error - NullPointerException→Switch default clause causes NullpointerException
Title: Decompilation error - NullPointerException→Switch default clause causes NullpointerException
I'd like to see the "Caused by" part which is truncated :-).
java.lang.NullPointerException
at
com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition.resolveMultiname(In
structionDefinition.java:96)
at
com.jpexs.decompiler.flash.abc.avm2.instructions.other.GetSuperIns.translate(GetSuperIns.j
ava:43)
at
com.jpexs.decompiler.flash.abc.avm2.instructions.AVM2Instruction.translate(AVM2Instruction
.java:337)
at
com.jpexs.decompiler.flash.abc.avm2.deobfuscation.AVM2DeobfuscatorSimple.executeActions(AV
M2DeobfuscatorSimple.java:273)
at
com.jpexs.decompiler.flash.abc.avm2.deobfuscation.AVM2DeobfuscatorSimple.removeObfuscation
Ifs(AVM2DeobfuscatorSimple.java:163)
at
com.jpexs.decompiler.flash.abc.avm2.deobfuscation.AVM2DeobfuscatorSimple.deobfuscate(AVM2D
eobfuscatorSimple.java:405)
at
com.jpexs.decompiler.flash.abc.types.MethodBody.convertMethodBody(MethodBody.java:340)
at com.jpexs.decompiler.flash.abc.types.MethodBody$1.call(MethodBody.java:263)
at com.jpexs.decompiler.flash.abc.types.MethodBody$1.call(MethodBody.java:260)
at com.jpexs.helpers.CancellableWorker$3.doInBackground(CancellableWorker.java:112)
at com.jpexs.helpers.CancellableWorker$1.call(CancellableWorker.java:49)
at java.util.concurrent.FutureTask.run(FutureTask.java:266)
at com.jpexs.helpers.CancellableWorker.run(CancellableWorker.java:66)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
at java.lang.Thread.run(Thread.java:745)
I coped everything from the log, is it possible to increase the limit of this truncation
in the log?
Try the version in the repository now.
State: opened→upgraded
Fixed.
State: upgraded→closed
Another NullPointerException problem in DokuGame.swf
Jul 05, 2015 7:28:20 PM com.jpexs.decompiler.flash.abc.types.MethodBody convert
SEVERE: Decompilation error in com.scene.sceneUnit/Animal.loop
java.util.concurrent.ExecutionException: java.lang.NullPointerException
at java.util.concurrent.FutureTask.report(Unknown Source)
at java.util.concurrent.FutureTask.get(Unknown Source)
at com.jpexs.helpers.CancellableWorker.get(CancellableWorker.java:99)
at com.jpexs.helpers.CancellableWorker.call(CancellableWorker.java:117)
at com.jpexs.decompiler.flash.abc.types.MethodBody.convert(MethodBody.java:277)
at
com.jpexs.decompiler.flash.abc.types.traits.TraitMethodGetterSetter.convert(TraitMethodGet
terSetter.java:87)
at
com.jpexs.decompiler.flash.abc.types.traits.Traits$TraitConvertTask.call(Traits.java:138)
at com.jpexs.decompiler.flash.abc.types.traits.Traits.convert(Traits.java:189)
at com.jpexs.decompiler.flash.abc.types.traits.TraitClass.convert(TraitClass.java:562)
at com.jpexs.decompiler.flash.abc.types.traits.Trait.convertPackaged(Trait.java:171)
at com.jpexs.decompiler.flash.abc.ScriptPack.convert(ScriptPack.java:153)
at com.jpexs.decompiler.flash.abc.ScriptPack$1.call(ScriptPack.java:187)
at com.jpexs.decompiler.flash.abc.ScriptPack$1.call(ScriptPack.java:184)
at com.jpexs.helpers.CancellableWorker$3.doInBackground(CancellableWorker.java:112)
at com.jpexs.helpers.CancellableWorker$1.call(CancellableWorker.java:49)
at java.util.concurrent.FutureTask.run(Unknown Source)
at com.jpexs.helpers.CancellableWorker.run(CancellableWorker.java:66)
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.NullPointerException
at
com.jpexs.decompiler.flash.abc.avm2.instructions.InstructionDefinition.resolveMultiname(In
structionDefinition.java:97)
at
com.jpexs.decompiler.flash.abc.avm2.instructions.other.GetSuperIns.translate(GetSuperIns.j
ava:43)
at com.jpexs.decompiler.flash.abc.avm2.AVM2Code.toSourceOutput(AVM2Code.java:1637)
at
com.jpexs.decompiler.flash.abc.avm2.graph.AVM2GraphSource.translatePart(AVM2GraphSource.ja
va:104)
at com.jpexs.decompiler.graph.Graph.printGraph(Graph.java:1480)
at com.jpexs.decompiler.graph.Graph.printGraph(Graph.java:1747)
at com.jpexs.decompiler.graph.Graph.printGraph(Graph.java:814)
at com.jpexs.decompiler.graph.Graph.translate(Graph.java:450)
at
com.jpexs.decompiler.flash.abc.avm2.graph.AVM2Graph.translateViaGraph(AVM2Graph.java:142)
at com.jpexs.decompiler.flash.abc.avm2.AVM2Code.toGraphTargetItems(AVM2Code.java:1815)
at com.jpexs.decompiler.flash.abc.types.MethodBody$1.call(MethodBody.java:271)
at com.jpexs.decompiler.flash.abc.types.MethodBody$1.call(MethodBody.java:266)
... 7 more
State: closed→returned
I guess it's fixed.
State: returned→upgraded
True, fixed. Thanks.
State: upgraded→closed