StackOverflowError decompiling obfuscated class
Brought to you by:
hoenicke
Decompiling the class file produces (reproducable) the below StackOverflowException.
This is a class file is from the Tonicpont PPT Viewer - a very program using GPL'ed code but I haven't been able to find any source of it so far since Google sold the company...
Jad also hasn't been able to make any sense out of the bytecode.
The full code of the metioned program can be downloaded here, although I'm not sure for how long since development has stopped some time ago:
> http://downloads.tonicsystems.com/viewer/tonicpoint.jar
I've tried increasing the Java Runtime's Stack but without any luck, the stack overflow only occures later.
decompilation of this class file produces error
Logged In: NO
Sorry, forgot the Stacktrace, here it is:
Beim Dekompilieren ist ein Fehler aufgetreten:java.lang.StackOverflowError
at java.util.Collections$EmptySet$1.<init>(Collections.java:2907)
at java.util.Collections$EmptySet.iterator(Collections.java:2907)
at java.util.AbstractCollection.addAll(AbstractCollection.java:303)
at net.sf.jode.flow.StructuredBlock.propagateUsage(StructuredBlock.java:378)
at net.sf.jode.flow.FlowBlock.makeDeclaration(FlowBlock.java:1770)
at net.sf.jode.decompiler.MethodAnalyzer.makeDeclaration(MethodAnalyzer.java:676)
at net.sf.jode.decompiler.ClassAnalyzer.makeDeclaration(ClassAnalyzer.java:454)
at net.sf.jode.expr.InvokeOperator.makeDeclaration(InvokeOperator.java:907)
at net.sf.jode.flow.InstructionContainer.makeDeclaration(InstructionContainer.java:56)
at net.sf.jode.flow.InstructionBlock.makeDeclaration(InstructionBlock.java:129)
[...] // repeated several times
at net.sf.jode.flow.FlowBlock.makeDeclaration(FlowBlock.java:1771)
at net.sf.jode.decompiler.MethodAnalyzer.makeDeclaration(MethodAnalyzer.java:676)
at net.sf.jode.decompiler.ClassAnalyzer.makeDeclaration(ClassAnalyzer.java:454)
at net.sf.jode.expr.InvokeOperator.makeDeclaration(InvokeOperator.java:907)
at net.sf.jode.flow.InstructionContainer.makeDeclaration(InstructionContainer.java:56)
at net.sf.jode.flow.InstructionBlock.makeDeclaration(InstructionBlock.java:129)
at net.sf.jode.flow.FlowBlock.makeDeclaration(FlowBlock.java:1771)
at net.sf.jode.decompiler.MethodAnalyzer.makeDeclaration(MethodAnalyzer.java:676)
at net.sf.jode.decompiler.ClassAnalyzer.makeDeclaration(ClassAnalyzer.java:454)
at net.sf.jode.expr.InvokeOperator.makeDeclaration(InvokeOperator.java:907)
at net.sf.jode.flow.InstructionContainer.makeDeclaration(InstructionContainer.java:56)
at net.sf.jode.flow.InstructionBlock.makeDeclaration(InstructionBlock.java:129)