Ваша программа рекурсивна, возможно, это первая рекурсивная пузырьковая сортировка, которую я когда-либо видел: -)
Рекурсивность подразумевает, что функция не возвращается, пока работа не завершена, вместо этого каждый раз вызывается метод sort ()дополнительный вызов помещается в стек.И после ряда рекурсивных вызовов стек переполняется и переполняется.
Итак, избавиться от рекурсии здесь не полезно, просто используйте цикл.
Относительно переменных, которые становятся отрицательнымизначения, начните с избавления от статического модификатора на mySwaps, myTime и myCompare, поскольку он препятствует их правильной инициализации при каждом запуске теста.