Трассировка стека должна указывать на природу проблемы. При чтении трассировки стека должно быть некоторое очевидное зацикливание.
Если это не ошибка, вам нужно добавить счетчик или какой-то другой механизм, чтобы остановить рекурсию до того, как рекурсия станет настолько глубокой, что это приведет к переполнению стека.
Примером этого может быть, если вы обрабатываете вложенный XML в модели DOM с рекурсивными вызовами, а XML вложен настолько глубоко, что вызывает переполнение стека вложенными вызовами (маловероятно, но возможно). Это должно быть довольно глубокое вложение, чтобы вызвать переполнение стека.