bytecode-viewer icon indicating copy to clipboard operation
bytecode-viewer copied to clipboard

fix: max messenger error

Open johnny603 opened this issue 2 months ago • 0 comments

Description

Fix StackOverflowError on Cyclic Type References in Decompilation

This PR resolves "MAX messenger ERROR" by introducing cycle detection in the type reference visitor logic:

Closes #552

Prevents infinite recursion and StackOverflowError when decompiling bytecode with cyclic type references. Adds a visited set to the ClassOrInterfaceType visitor in MyVoidVisitor.java to track and skip already-visited types. Documents the cycle detection logic and provides troubleshooting notes for recursion errors. All tests pass and the fix is validated with problematic and complex bytecode files. Is there any feedback or additional edge cases you’d like tested before merging?

Note

Cyclic type references are common in obfuscated or complex class hierarchies. This fix ensures Bytecode Viewer fails gracefully and provides better error handling for such cases. If you have further suggestions for error reporting or cycle visualization, please let me know!

johnny603 avatar Oct 10 '25 04:10 johnny603