[Android 17] Early observations: JIT thread pool crash on attach and JNI transition frame aborts
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 12/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Activo
- Stack tecnológico
- android, java, javascript
- Área
- mobile, reverse-engineering
Línea de trabajo
The payload names no file in this repository; the crashes are in ART internals (art::jit::Jit::CreateThreadPool) and in the JNI transition check. Start by reproducing the Java.use hooks on android.webkit.WebView $init and android.os.Binder attachInterface on an API 37 device or emulator, then gather the tombstone. Done would mean a hook pattern that survives on API 37 with a stated cause, which needs Android runtime knowledge and a maintainer decision on scope.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
Ran into a couple of quirks while testing Frida 17.21.0 on Android 17 (API 37, build CE2A.260420.019). Opening this up to share logs and reproduction details in case they're useful as A17 support gets fleshed out.
1. SIGSEGV in art::jit::Jit::CreateThreadPool during attach
- Behavior: When attaching
frida-serverearly during process launch, ART intermittently segfaults insideart::jit::Jit::CreateThreadPool. - Observations: Appears to be a race between ptrace attachment and JIT thread pool initialization. Disabling JIT before launching or attaching avoids the crash on our end:
Not sure if there's a cleaner synchronization hook or if this is primarily visible on emulator timing, but wanted to mention it.adb shell setprop dalvik.vm.usejit false
2. Runtime abort: JNI transition frame error
- Behavior: Hooking native constructor stubs or Binder entrypoints causes ART to abort the process:
art E ... JNI transition frame error - Reproduction cases we saw:
- Replacing
$initon native classes:
Java.use('android.webkit.WebView').$init.implementation = ... - Hooking Binder interface registration:
Java.use('android.os.Binder').attachInterface.implementation = ...
- Replacing
- Observations: Looks like A17 might have tightened up stack validation or frame accounting around native-to-managed transitions. Replacing these native stubs with JS trampolines seems to trigger that transition check.
- Current workaround for us: Steered our scripts away from hooking
$initandBinder.attachInterfacedirectly on API 37, targeting higher-level callers or concrete factory methods instead.
Happy to pull more tombstones or test proposed patches if anyone is digging into A17 support.
- Lenguaje dominante
- JavaScript
- Estrellas
- 413
- Forks
- 174
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Este proyecto no incluye contenedor de desarrollo, Dockerfile ni guía de contribución, así que la configuración corre por tu cuenta: empieza por su README y consulta nuestra guía para la primera contribución para los pasos generales.
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de frida/frida-java-bridge
-
Types is missing `deoptimizeMethod`Posiblemente ocupada @Electric1447 la tomó hace 176 días. Abierto
Dificultad 1/5 Menos de una hora Aptitud para principiantes 65/100
frida/frida-java-bridge#386 ·
-
[v7.0.11+] Process crash on accessing object["<init>"] with JVMTI availablePosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
frida/frida-java-bridge#384 · 2 comentarios · 2 reacciones ·
-
Dificultad 3/5 1-2 días Aptitud para principiantes 42/100
frida/frida-java-bridge#409 ·
-
ensureClassInitialized() no longer initializes on ART since 7983e815 — hooks on uninitialized classes install successfully but never dispatchPosiblemente ocupada Un pull request vinculado a esta issue está abierto o ya se fusionó. Abierto
Dificultad 4/5 3-5 días Aptitud para principiantes 52/100
frida/frida-java-bridge#408 ·
-
Dificultad 5/5 Más de una semana Aptitud para principiantes 20/100
frida/frida-java-bridge#404 ·
Todos los issues de frida/frida-java-bridge
Issues similares
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 62/100
schmayterling/hibi#245 ·
Los mantenedores suelen responder en 1 día
-
factory-active task-identify-harness-labels-done task-identify-issue-type-done
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
vercel/ai#23304 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
bug package:vitest
Dificultad 2/5 1-3 horas Aptitud para principiantes 70/100
cloudflare/workers-sdk#16255 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Proxy and MCP URLs with an empty authority parse as a different hostPosiblemente ocupada @ericcaiwx-star la tomó hoy. Abiertoclawsweeper:bulk-filed clawsweeper:linked-pr-open clawsweeper:needs-product-decision clawsweeper:no-new-fix-pr clawsweeper:source-repro impact:ux-friction issue-rating: 🦞 diamond lobster P2
Dificultad 2/5 1-3 horas Aptitud para principiantes 75/100
openclaw/openclaw-enterprise#2384 · 1 comentario · 1 reacción ·
Los mantenedores suelen responder en 1 día
-
Access-request approve silently discards the decider's note (decision_note written only on deny)Abiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Uuriko/project-room#3378 ·
Los mantenedores suelen responder en 1 día