From 9e69cfa49c48709a2f0aed6a3dc84cd7966b576c Mon Sep 17 00:00:00 2001 From: Mathieu Benoit Date: Wed, 19 Aug 2026 05:38:57 -0400 Subject: [PATCH] =?UTF-8?q?[UPD]=20qemu=20doc:=20=C3=A9num=C3=A9rer=20les?= =?UTF-8?q?=20causes=20que=20le=20diagnostic=20sait=20nommer?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit La liste s'arrêtait aux quatre premières et laissait croire que le reste tombait dans « aucun motif connu ». Les deux pannes rencontrées cette semaine y manquaient : un démon Gradle tué par le noyau, et un APK refusé pour ses 122 684 fichiers d'assets alors qu'un ZIP tient 65535 entrées. La seconde n'a pas de correctif de notre côté, et la doc le dit : elle appartient au dépôt mobile. --- EN --- The list stopped at the first four, implying the rest fell into "no known pattern". Both failures met this week were missing from it: a Gradle daemon killed by the kernel, and an APK refused for its 122,684 asset files when a ZIP holds 65535 entries. The second one has no fix on our side, and the doc says so: it belongs to the mobile repository. Assisted-by: Claude Opus 5 --- script/qemu/README.base.md | 24 ++++++++++++++++-------- script/qemu/README.fr.md | 12 ++++++++---- script/qemu/README.md | 12 ++++++++---- 3 files changed, 32 insertions(+), 16 deletions(-) diff --git a/script/qemu/README.base.md b/script/qemu/README.base.md index 198bbe5..dacc1ca 100644 --- a/script/qemu/README.base.md +++ b/script/qemu/README.base.md @@ -298,10 +298,14 @@ an Odoo 18 install), runs the repository's own `install-android.sh` — JDK 17, command-line tools, SDK licences accepted, NDK, whisper.cpp and sentencepiece — then builds: `npm ci`, `vite build`, `cap sync`, `gradlew assembleDebug`, and finally `npm test`. **A failed build fails the VM**: the exit code reaches -the dashboard, and the log names the probable cause (disk full, missing SDK -platform, JDK/Gradle mismatch, unaccepted licences…) instead of leaving a -40 MB Gradle log to read. The heavy output goes to -`~/erplibre-mobile-build.log` inside the VM so the install log stays readable. +the dashboard, and the log names the probable cause instead of leaving a +40 MB Gradle log to read: disk full, missing SDK platform, JDK/Gradle +mismatch, unaccepted licences, a Gradle daemon killed by the kernel (with the +machine's RAM, swap and oom-kill count, because a memory cause is proven and +not assumed), or too many asset files for one APK — a ZIP holds 65535 entries +and the mobile repo ships 122 684, which only that repo can fix. The heavy +output goes to `~/erplibre-mobile-build.log` inside the VM so the install log +stays readable. It is bounded to apt-based distributions, because that upstream installer starts with `sudo apt install openjdk-17-jdk`. It requires no Android Studio @@ -431,10 +435,14 @@ outils en ligne de commande, licences SDK acceptées, NDK, whisper.cpp et sentencepiece), puis compile : `npm ci`, `vite build`, `cap sync`, `gradlew assembleDebug`, et enfin `npm test`. **Une compilation en échec fait échouer la VM** : le code de sortie remonte au tableau de bord, et le journal -NOMME la cause probable (disque plein, plateforme SDK absente, JDK et Gradle -incompatibles, licences non acceptées…) au lieu de laisser 40 Mo de journal -Gradle à relire. Le détail va dans `~/erplibre-mobile-build.log`, dans la VM, -pour que le journal d'installation reste lisible. +NOMME la cause probable au lieu de laisser 40 Mo de journal Gradle à relire : +disque plein, plateforme SDK absente, JDK et Gradle incompatibles, licences non +acceptées, démon Gradle tué par le noyau (avec la RAM, le swap et le compte de +l'oom-killer, parce qu'une cause « mémoire » se prouve au lieu de s'affirmer), +ou trop de fichiers d'assets pour un APK — un ZIP tient 65535 entrées et le +dépôt mobile en embarque 122 684, ce que lui seul peut corriger. Le détail va +dans `~/erplibre-mobile-build.log`, dans la VM, pour que le journal +d'installation reste lisible. Il est borné aux distributions apt, parce que cet installateur amont commence par `sudo apt install openjdk-17-jdk`. Il n'exige PAS Android Studio — une diff --git a/script/qemu/README.fr.md b/script/qemu/README.fr.md index e4cc3c2..7263e25 100644 --- a/script/qemu/README.fr.md +++ b/script/qemu/README.fr.md @@ -187,10 +187,14 @@ outils en ligne de commande, licences SDK acceptées, NDK, whisper.cpp et sentencepiece), puis compile : `npm ci`, `vite build`, `cap sync`, `gradlew assembleDebug`, et enfin `npm test`. **Une compilation en échec fait échouer la VM** : le code de sortie remonte au tableau de bord, et le journal -NOMME la cause probable (disque plein, plateforme SDK absente, JDK et Gradle -incompatibles, licences non acceptées…) au lieu de laisser 40 Mo de journal -Gradle à relire. Le détail va dans `~/erplibre-mobile-build.log`, dans la VM, -pour que le journal d'installation reste lisible. +NOMME la cause probable au lieu de laisser 40 Mo de journal Gradle à relire : +disque plein, plateforme SDK absente, JDK et Gradle incompatibles, licences non +acceptées, démon Gradle tué par le noyau (avec la RAM, le swap et le compte de +l'oom-killer, parce qu'une cause « mémoire » se prouve au lieu de s'affirmer), +ou trop de fichiers d'assets pour un APK — un ZIP tient 65535 entrées et le +dépôt mobile en embarque 122 684, ce que lui seul peut corriger. Le détail va +dans `~/erplibre-mobile-build.log`, dans la VM, pour que le journal +d'installation reste lisible. Il est borné aux distributions apt, parce que cet installateur amont commence par `sudo apt install openjdk-17-jdk`. Il n'exige PAS Android Studio — une diff --git a/script/qemu/README.md b/script/qemu/README.md index 2bc5f77..cc035f3 100644 --- a/script/qemu/README.md +++ b/script/qemu/README.md @@ -172,10 +172,14 @@ an Odoo 18 install), runs the repository's own `install-android.sh` — JDK 17, command-line tools, SDK licences accepted, NDK, whisper.cpp and sentencepiece — then builds: `npm ci`, `vite build`, `cap sync`, `gradlew assembleDebug`, and finally `npm test`. **A failed build fails the VM**: the exit code reaches -the dashboard, and the log names the probable cause (disk full, missing SDK -platform, JDK/Gradle mismatch, unaccepted licences…) instead of leaving a -40 MB Gradle log to read. The heavy output goes to -`~/erplibre-mobile-build.log` inside the VM so the install log stays readable. +the dashboard, and the log names the probable cause instead of leaving a +40 MB Gradle log to read: disk full, missing SDK platform, JDK/Gradle +mismatch, unaccepted licences, a Gradle daemon killed by the kernel (with the +machine's RAM, swap and oom-kill count, because a memory cause is proven and +not assumed), or too many asset files for one APK — a ZIP holds 65535 entries +and the mobile repo ships 122 684, which only that repo can fix. The heavy +output goes to `~/erplibre-mobile-build.log` inside the VM so the install log +stays readable. It is bounded to apt-based distributions, because that upstream installer starts with `sudo apt install openjdk-17-jdk`. It requires no Android Studio