Что именно вызывает ошибку «вращение при приостановке» в Android?

В настоящее время у меня возникают проблемы с отладкой некоторого кода Android, который опирается на собственную библиотеку. Один родной звонок, в частности, кажется, склонен к этому "спина на приостановке ошибка. Обычно это выглядит так:

threadid=2: spin on suspend #2 threadid=48 (pcf=3)

До сих пор у меня нетне смог точно определить, чтоСбой здесь, за исключением того, что после примерно 10 из этих сообщений мое приложение обнаруживаетSIGSTKFLT и выходит. Каждый раз первый поток - это GC, а второй поток - это любой поток, который в данный момент выполняет собственный код. Часть стека, напечатанная вместе с этим сообщением, всегда имеет собственный метод наверху стека.

Что именно происходит, когда Дальвик жалуется на это, и как я могу начать отлаживать причину, чтобы исправить ее?

РЕДАКТИРОВАТЬ: Интересная складка - после того, как собственный разработчик внес некоторые изменения, я теперь иногда вижу следующую ошибку:

PopFrame missed the break
VM aborting
Fatal signal 11 (SIGSEGV) at 0xdeadd00d (code=1)

Это'Мне также очень странно, что дамп потока показывает мой собственный метод наверху стека, но состояние потокаRUNNABLEнеNATIVE - как это может быть возможно?

Ответы на вопрос(1)

Ваш ответ на вопрос