Что может привести к блокировке ART (Android Runtime) при выгрузке собственной библиотеки?Android

Форум для тех, кто программирует под Android
Ответить Пред. темаСлед. тема
Anonymous
 Что может привести к блокировке ART (Android Runtime) при выгрузке собственной библиотеки?

Сообщение Anonymous »

Я пытался отладить незаметный для пользователя сбой в моем приложении (думаю, это происходит в фоновом режиме), который возник в среде выполнения Android из-за возможной блокировки или конфликта потоков.

Код: Выделить всё

backtrace:
#00  pc 0x000000000004f560  /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32)
#01  pc 0x000000000030d9a8  /apex/com.android.art/lib64/libart.so (art::Mutex::ExclusiveLock(art::Thread*)+280)
#02  pc 0x00000000005fe8b4  /apex/com.android.art/lib64/libart.so (art::Libraries::UnloadNativeLibraries()+96)
#03  pc 0x00000000003ba968  /apex/com.android.art/lib64/libart.so (art::gc::Heap::CollectGarbageInternal(art::gc::collector::GcType, art::gc::GcCause, bool, unsigned int)+876)
#04  pc 0x00000000003ba50c  /apex/com.android.art/lib64/libart.so (art::gc::Heap::ConcurrentGC(art::Thread*, art::gc::GcCause, bool, unsigned int)+164)

Caused DefaultDispatcher-worker-9 failure : SuspendThreadByPeer timed out: 14060 (HeapTaskDaemon), state&flags: 0x9, priority: 5, barriers: 0x, ours: 0x, barrier value: 1, nsusps: 0, ncheckpts: 0, thread_info: Target states: [14060 (HeapTaskDaemon) S 1097 1097 0 0 -1 1077936192 231570 372 345 3 170 481 0 1 24 4 74, 14060 (HeapTaskDaemon) S 1097 1097 0 0 -1 1077936192 390055 372 345 3 219 832 0 1 24 4 74]1@517142581380 Final wait time: 4.010s
Я просмотрел здесь исходный код UnloadNativeLibraries и похоже, что этот jni_libraries_lock_ приобретается при загрузке собственной общей библиотеки.
Однако я просто не мог понять, как такое могло произойти. В своем приложении я создаю собственную библиотеку, которую загружаю во время выполнения. Я не знаю, делает ли эта собственная библиотека что-то не так.
Что может делать собственная библиотека, чтобы ART не смог получить блокировку? ? Могу ли я еще что-нибудь сделать, чтобы устранить эту проблему?

Подробнее здесь: https://stackoverflow.com/questions/792 ... ative-libr
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Android»