Skip to content

Conversation

@johnny603
Copy link

@johnny603 johnny603 commented Oct 10, 2025

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!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

MAX messenger ERROR

1 participant