docs(amont): le dbgsym peut être posé sans risque, et sans toucher au banc
Vérifié plutôt que supposé. La version EXACTE qui a planté est encore au dépôt nymea — indispensable, car des symboles d%sune autre version ne résolvent pas un offset, ils le résolvent FAUX. Trois points qui rendent l%sopération sûre : la version exacte existe ; l%sépinglage évite la cascade (sans lui apt prendrait la 1.16.0 et mettrait à jour toute la pile de développement) ; et ces paquets sont amd64, Section debug, n%sinstallant que /usr/lib/debug — le banc est arm64 et ne peut pas être affecté.
This commit is contained in:
parent
62aa51bbe5
commit
24d8f55997
@ -41,9 +41,26 @@ L'enchaînement — événement **posté**, délivré depuis la boucle glib, sur
|
||||
journalisation, en fin de vie de processus — a la forme d'un **usage après libération** : une
|
||||
invocation en file d'attente délivrée à un `Logger` déjà détruit pendant l'arrêt.
|
||||
|
||||
**C'est une hypothèse, pas une conclusion.** La trame `libnymea-core.so.1 + 0x1edae6` n'a pas pu
|
||||
être symbolisée ici (paquet sans symboles de débogage). Avec `libnymea-dbgsym`, elle nommerait
|
||||
l'appelant en une commande.
|
||||
**C'est une hypothèse, pas une conclusion.** La trame `libnymea-core.so.1 + 0x1edae6` n'a pas
|
||||
encore été symbolisée. Elle peut l'être, et **sans aucun risque** — vérifié le 2026-09-01 :
|
||||
|
||||
```bash
|
||||
V=1.15.2+202606191336~trixie1 # la version EXACTE qui a planté
|
||||
sudo apt-get install libnymea1-dbgsym=$V libnymea-core-dbgsym=$V
|
||||
gdb -batch -ex 'bt full' <binaire> <core>
|
||||
```
|
||||
|
||||
Trois points qui rendent l'opération sûre, et qui méritent d'être vérifiés avant de la lancer :
|
||||
|
||||
1. **La version exacte est encore au dépôt.** `libnymea1-dbgsym` et `libnymea-core-dbgsym`
|
||||
existent en `1.15.2+202606191336~trixie1`. C'est indispensable : des symboles d'une autre
|
||||
version ne résolvent pas un offset — ils le résolvent **faux**, ce qui est pire.
|
||||
2. **L'épinglage évite la cascade.** Sans lui, `apt` prendrait la 1.16.0 et **mettrait à jour
|
||||
toute la pile de développement** (`nymea-sdk`, `nymea-dev-tools`, `libnymea-core-dev`…),
|
||||
changeant l'environnement de compilation. Avec les versions épinglées, l'installation
|
||||
n'ajoute que les deux paquets de symboles : rien d'autre n'est touché.
|
||||
3. **Le banc ne peut pas être affecté.** Ces paquets sont `Section: debug`, n'installent que
|
||||
`/usr/lib/debug`, et sont **amd64** — la machine de développement. Le banc `.75` est arm64.
|
||||
|
||||
Si l'hypothèse tient, elle a une conséquence de production : l'arrêt d'un `nymead` chargé peut
|
||||
laisser des écritures de journal en file, et le risque n'est pas limité aux tests.
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user