As a programmer you certainly know the error of a stack overflow due to an obvious recursion. But there are certainly many weird and unusual ways to get your favourite language to spit that error out.
Objectives:
- Must cause a stack overflow which is clearly visible on the error output.
- Not allowed to use an obvious recursion.
Examples of invalid programs:
// Invalid, direct obvious recursion.
methodA(){ methodA(); }
// Invalid, indirect, but obvious recursion.
methodA(){ methodB(); }
methodB(){ methodA(); }
The most creative ways are the best as this a popularity-contest. I.e, avoid boring obvious answers like this:
throw new StackOverflowError(); // Valid, but very boring and downvote-deserving.
Even though I accepted an answer now, adding more answers is still okay :)