Недавно я получил жалобу от пользователя, что мое приложение рушилось. Я извлек из журналов ошибок пользователя следующие данные и смог узнать, почему возникают проблемы:
12-17 10:31:12.446 I/PLAYLIST( 3158): PreparePlaylist
12-17 10:31:12.446 I/PLAYLIST( 3158): URL: http://f69cbd7a-3d91-4bf5-b4c6-ddb1175cf9e9.d40f2093-2013-4ad9-aec2-e99b015d61ca.070305e7-a706-4626-9ecb-777835065841.groovera.com/listen.pls
12-17 10:31:12.456 F/unknown ( 3158): stack corruption detected: aborted
12-17 10:31:12.466 D/Zygote ( 2204): Process 3158 terminated by signal (6)
12-17 10:31:12.471 I/ActivityManager( 2256): Process com.android.Player:remote (pid 3158) has died.
Обнаружено повреждение стека. Отлично, так как я могу узнать, почему это происходит?
Я думаю, что проблема возникает в этом конкретном классе, так как я ожидал большего объема вывода журнала из нее до ее смерти. Этот класс использует сокеты для загрузки плейлиста и его анализа. Как я могу портить стек? Я рассматривал переполнение стека в C/С++, но как мне обрабатывать его в Java?
Спасибо за вашу помощь!