Gemma 4 VL (Vulkan, v0.11.0 export) is killed by lmkd during load on an 8 GB phone; the v0.9.0 export loads there through the legacy runner
I maintainer di solito rispondono entro 1 giorno
@barhanc ci sta già lavorando.
Dal 5/11/2026.
Valutazione
Questa issue non è ancora stata valutata.
Descrizione
Description
On a Samsung Galaxy S24 (8 GB), loading Gemma 4 VL E2B through the new multimodal LLM API gets the app killed by the Android low-memory killer before generation starts. The app is in the foreground (oom_score_adj 0). On the same phone, our previous release loads the v0.9.0 Vulkan export of the same model through react-native-executorch/legacy and answers normally.
The XNNPACK v0.11.0 export of the same model loads fine on the new API on this phone, using about 2.7 GB PSS with a 7.8 s load. The problem looks specific to the Vulkan path.
Environment
- react-native-executorch 0.11.0 in both builds.
- Device: Samsung Galaxy S24, SM-S921B (Exynos 2400, Xclipse 940 GPU), 8 GB RAM (
MemTotal7.05 GiB), Android API 37. - Context window: 2048 in both builds. That is the export's
max_context_len; the app does not raise it.
| Works | Killed | |
|---|---|---|
| API | react-native-executorch/legacy LLM |
new multimodal LLM API |
| Model file | [email protected]/e2b/vulkan/gemma_4_e2b_vulkan_8da4w.pte (4.37 GB) |
[email protected]/e2b/vulkan/gemma_4_e2b_vulkan_8da4w.pte (3.81 GB) |
| Result | Loads and answers. Memory after load: GL mtrack 3.07 GiB, TOTAL PSS 4.8 GiB (of which 1.7 GiB swapped), MemAvailable 0.65 GiB |
lmkd reclaims the app about 15 s after the first message, during load |
Steps to reproduce
- On an 8 GB Android phone (we used the S24 above), download
gemma-4-E2B-it-ExecuTorchv0.11.0e2b/vulkan/gemma_4_e2b_vulkan_8da4w.ptewith its tokenizer. - Load it with the multimodal LLM API from 0.11.0 and send a short text prompt (we sent "And of Germany?" in an existing chat).
- The process is killed during load. No JS or native error is logged before the kill.
Log
13:01:46.126 I/PMTEST: gemma-vl-new-build-start
13:01:57.149 I/GSC (23633): SID[119] ... <- Vulkan shader compilation in the app process
13:02:01.396 D/io_stats: Read_top(KB): privatemind.ver(23633) 1217384
13:02:01.472 I/lmkd (602): Reclaim 'com.swmansion.privatemind.ver' (23633), uid 10481, oom_score_adj 0, state 2(8)
to free 308kB rss, 0kB anon rss, 248220kB swap, 13525kB dmabuf_pss, 40576kB dmabuf_rss;
reason: min2x watermark is breached even after kill; level: 3
Before reclaiming the app, lmkd killed dozens of background processes in the preceding seconds, so memory runs out during load, not during generation.
What we did not isolate
Two things changed between the working and the failing run: the runner (legacy vs. new multimodal API) and the export (v0.9.0 vs. v0.11.0). We have not yet run the v0.9.0 file through the new API, or the v0.11.0 file through the legacy runner, in a clean app. Two questions:
- Does the Vulkan path in the new runner hold more at load, for example keeping the mmapped weights and a GPU copy at the same time?
- Is there a load option that lowers the peak?
The XNNPACK export works as a workaround, running on the CPU instead of the GPU.
- Lingua principale
- TypeScript
- Stelle
- 1.8k
- Fork
- 101
- Merge medio
- 2g 4h
- PR unite (30g)
- 58
Preparare l'ambiente
- Nessun Dockerfile né file Docker Compose
- Ha un modello di pull request
- Leggi la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di software-mansion/react-native-executorch
-
dependencies platform: ios
Difficoltà 1/5 1-3 ore Idoneità per principianti 78/100
software-mansion/react-native-executorch#1617 ·
I maintainer di solito rispondono entro 1 giorno
-
Peer react-native >=0.83Forse già presa @msluszniak l’ha presa oggi. Apertadependencies dev exp
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 25/100
software-mansion/react-native-executorch#1623 ·
I maintainer di solito rispondono entro 1 giorno
-
Docs: iOS < 17 fails pod install on the bare templateForse già presa @msluszniak l’ha presa oggi. Apertadocumentation platform: ios
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 20/100
software-mansion/react-native-executorch#1622 ·
I maintainer di solito rispondono entro 1 giorno
-
Docs: dynamic frameworks are supportedForse già presa @msluszniak l’ha presa oggi. Apertadocumentation platform: ios
Difficoltà 1/5 1-3 ore Idoneità per principianti 35/100
software-mansion/react-native-executorch#1621 ·
I maintainer di solito rispondono entro 1 giorno
-
Docs: drop the Expo babel.config.js stepForse già presa @msluszniak l’ha presa oggi. Apertadocumentation
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 25/100
software-mansion/react-native-executorch#1620 ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di software-mansion/react-native-executorch
Issue simili
-
Add: Upin & Ipin Channel HDApertacheck:passed streams:add
Difficoltà 2/5 1-3 ore Idoneità per principianti 72/100
I maintainer di solito rispondono entro 1 giorno
-
S: triage
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
I maintainer di solito rispondono entro 1 giorno
-
iot client
Difficoltà 2/5 1-3 ore Idoneità per principianti 82/100
Open-Locker/Open-Locker#365 ·
I maintainer di solito rispondono entro 1 giorno
-
bug enhancement
Difficoltà 2/5 1-3 ore Idoneità per principianti 69/100
inmanta/web-console#7787 ·
I maintainer di solito rispondono entro 1 giorno
-
bug
Difficoltà 2/5 1-3 ore Idoneità per principianti 65/100
shoelace-style/webawesome#2979 ·
I maintainer di solito rispondono entro 1 giorno