Time: 0:00
Test a custom input to verify an edge case (e.g. empty lists, negative numbers, duplicates).
This bug belongs to the infinite loops pattern
The tab freezes, nothing prints, and the loop condition never becomes false.
What went wrong: Member.toString() calls Group.toString(), which in turn calls Member.toString(). This mutual recursion quickly exhausts the call stack and triggers a fatal StackOverflowError.
The fix: Break the circular print cycle by only printing the group's name (group.name) rather than printing the whole object recursively.
Remember: Never print bidirectional object references in toString() without breaking recursion cycles.
The pattern behind it: infinite loops.
Paste this into any web page or blog post. Visitors fix the bug right there, in their browser.
<iframe src="https://trybughunt.com/embed/0ff39965-55d1-4a4e-9d69-e4018f07b6c2" title="Debugging challenge: Infinite recursion in toString cyclic references" width="100%" height="580" loading="lazy" style="border:1px solid #d4d4d8;border-radius:12px;max-width:760px"></iframe>
<p style="font-size:14px">Debugging challenge from <a href="https://trybughunt.com/challenges/0ff39965-55d1-4a4e-9d69-e4018f07b6c2">TryBugHunt</a></p>