I'm not sure how you can have a recursive render method, but that is definitely your problem. If recursive methods don't have a way of stopping themselves after a while, then they just keep adding to the call stack and it inevitably overflows. A loop is what you want, but please show some code, because I would sure like to see what you have.