Storyyeller / Krakatau

Java decompiler, assembler, and disassembler
GNU General Public License v3.0
1.95k stars 219 forks source link

RuntimeError: maximum recursion depth exceeded while calling a Python object #198

Open l29ah opened 1 year ago

l29ah commented 1 year ago

Using 53bb6e6d60076bebd25cf4089da986984fd034fb decompiler:

Decompiling method $deserializeLambda$ (Ljava/lang/invoke/SerializedLambda;)Ljava/lang/Object;
Traceback (most recent call last):
  File "./decompile.py", line 158, in <module>
    decompileClass(path, targets, args.out, args.skip, magic_throw=args.xmagicthrow)
  File "./decompile.py", line 103, in decompileClass
    source = printer.visit(javaclass.generateAST(c, makeGraphCB, skip_errors, add_throws=add_throws))
  File "Krakatau/java/javaclass.py", line 68, in generateAST
    method_defs = [_getMethod(m, cb, forbidden_identifiers, skip_errors) for m in methods]
  File "Krakatau/java/javaclass.py", line 40, in _getMethod
    code_ast = javamethod.generateAST(method, graph, forbidden_identifiers)
  File "Krakatau/java/javamethod.py", line 851, in generateAST
    ast_root, varinfo = astgen.createAST(method, graph, setree, namegen)
  File "Krakatau/java/astgen.py", line 321, in createAST
    astroot = _createASTSub(info, seroot, None)
  File "Krakatau/java/astgen.py", line 272, in _createASTSub
    parts = [_createASTSub(info, item, newft) for item, newft in zip(current.items, ftitems)]
  File "Krakatau/java/astgen.py", line 279, in _createASTSub
    parts = [_createASTSub(info, scope, ftitem, True) for scope in current.getScopes()]
...
  File "Krakatau/java/astgen.py", line 272, in _createASTSub
    parts = [_createASTSub(info, item, newft) for item, newft in zip(current.items, ftitems)]
  File "Krakatau/java/astgen.py", line 279, in _createASTSub
    parts = [_createASTSub(info, scope, ftitem, True) for scope in current.getScopes()]
  File "Krakatau/java/astgen.py", line 268, in _createASTSub
    if isinstance(current, SEBlockItem):
RuntimeError: maximum recursion depth exceeded while calling a Python object
Storyyeller commented 1 year ago

Can you please provide the jar you were trying to decompile?