Рекурсия никогда не останавливается.
Когда функция будет вызываться с массивом длины 1, этот массив будет разделен на один массив длиной 0 (там рекурсия останавливается) и другой массив длиной 1. Функция будет вызываться снова рекурсивно со вторым массив. Это создаст ту же ситуацию снова.
Это означает, что вы должны обработать ситуацию, когда массив имеет длину 1 правильно (как уже было сказано Рафаэлем, извините, я не видел этого раньше). Вы можете просто вернуть массив длины 1, потому что нет необходимости сортировать.