Solution communautaire

ZimaOS btop affiche « Instruction illégale » sur ZimaBoard : le bogue de compilation du processeur de la version 1.3.3 et le correctif de la version 1.4.0

A 2024 CasaOS tutorial thread that later became a detailed ZimaOS 1.3.3 btop bug report. ZimaBoard and ZimaBlade users with Intel N3450 CPUs saw Press Enter to reconnect and Illegal instruction errors. After browser testing ruled out the frontend, Zima-Giorgio said the binary had been compiled without accounting for the ZimaBoard CPU and that ZimaOS 1.4.0 fixed it.

Ce fil a changé de sujet au fil du temps. Il a commencé par un tutoriel d’installation de BTOP sur CasaOS en 2024, puis est devenu bien plus intéressant en mars 2025, lorsque ZimaOS 1.3.3 a ajouté un panneau de performances btop intégré et que plusieurs utilisateurs de ZimaBoard et ZimaBlade ont découvert que le nouveau binaire plantait avec Instruction illégale (core dump).

Le diagnostic final est venu d’IceWhale, et non de spéculations de la communauté : Zima-Giorgio a indiqué que l’équipe n’avait pas pris en compte le processeur du ZimaBoard lors de la compilation de btop et que le problème serait corrigé dans ZimaOS 1.4.0. Il s’agit donc d’un bug historique de compatibilité du processeur, avec une limite de version clairement définie.

ZimaOS 1.3.3 a introduit le panneau btop intégré

Les notes de version 1.3.3 d’IceWhale ont présenté btop comme un nouveau panneau de surveillance des performances dans le tableau de bord de ZimaOS. L’objectif était de permettre la consultation de l’activité du processeur, de la mémoire, des processus et du système sans obliger les utilisateurs à installer une pile de surveillance distincte.

Utilisez la limite de version de la fonctionnalité de ZimaOS 1.3.3 lors de la lecture du fil d’origine.

Le raccourci du tableau de bord ouvrait un écran de reconnexion

Tableau de bord ZimaOS avec widgets système et de stockage, et raccourcis vers la surveillance des ressources et du réseau mis en évidence
Le nouveau tableau de bord présentait des raccourcis directs vers les outils de surveillance des ressources et du réseau.

Sur les systèmes concernés, cliquer sur le raccourci ouvrait un port temporaire à numéro élevé et affichait uniquement une invite de reconnexion.

Fenêtre du navigateur btop sur ZimaOS affichant « Appuyez sur Entrée pour vous reconnecter » au lieu de l’interface de performances
Le symptôme dans le navigateur ressemblait à un problème lié à ttyd ou à WebSocket, mais l’erreur du terminal a révélé un problème plus profond de compatibilité du binaire.

L’exécution directe de btop a produit une instruction illégale

La ligne de diagnostic clé était la suivante :

btop
Instruction illégale (core dump)

Ce message signifie que le processeur a tenté d’exécuter une instruction que le binaire avait été compilé pour utiliser, mais que le matériel ne prenait pas en charge. C’est très différent d’un cache de navigateur ou d’un délai d’expiration WebSocket.

Plusieurs navigateurs ont écarté un bug spécifique à un navigateur

Les utilisateurs ont testé Firefox, Chrome/Chromium, Safari, Brave, Opera et Edge, ainsi que les fenêtres normales et les modes privés/incognito. Le comportement est resté identique.

Ce test négatif a été utile, car la première question d’IceWhale lors du dépannage était de savoir si le problème pouvait être spécifique au navigateur.

Les outils de développement ont montré l’échec du WebSocket après l’arrêt du backend

Les outils de développement Chrome affichaient des trames de fermeture WebSocket incorrectes pour btop ttyd, une connexion refusée et des échecs de récupération du jeton
L’interface frontend a perdu sa connexion WebSocket, car le backend btop/ttyd ne restait pas fonctionnel ; les erreurs du navigateur constituaient donc des indices secondaires et non la cause première.

Les utilisateurs concernés avaient des processeurs de la génération Intel Celeron N3450

Un utilisateur de ZimaBoard 832 et un utilisateur de ZimaBlade ont comparé leur matériel et remarqué qu’ils partageaient des processeurs de classe Intel Celeron N3450. Ils ont demandé si le binaire de btop avait été compilé pour un jeu d’instructions de processeur plus récent, celui du ZimaCube.

Cette hypothèse a ensuite été confirmée par IceWhale.

IceWhale a confirmé que la cible de compilation était incorrecte

Le 27 mars, Zima-Giorgio a écrit que le problème avait été identifié et serait résolu dans ZimaOS 1.4.0, car la version originale de btop ne prenait pas en compte le processeur du ZimaBoard.

Il s’agit de la conclusion la plus solide de la source et elle devrait remplacer les solutions spéculatives, comme la réinstallation des navigateurs ou l’installation manuelle d’un autre binaire de btop sur l’hôte ZimaOS immuable.

Le changement de port élevé était intentionnel

CorrectRoadH, d’IceWhale, a indiqué que l’ouverture de btop sur un port élevé différent à chaque fois était une fonctionnalité de sécurité destinée à rendre la réutilisation directe de la session temporaire plus difficile.

Le changement de port ne constituait donc pas en soi une preuve de la défaillance.

Ne diagnostiquez pas le problème actuel de btop à partir du seul bug de la version 1.3.3

La version actuelle de ZimaOS est bien plus récente que les versions 1.3.3/1.4.0. Si btop échoue aujourd’hui, relevez la version actuelle de ZimaOS, le modèle du processeur, le message d’erreur exact du terminal et indiquez si le problème touche le raccourci du tableau de bord ou uniquement la CLI.

Un Instruction illégale Sur une configuration récente, cela pourrait toujours indiquer un problème de compatibilité du processeur, mais il faut l’examiner comme une nouvelle régression plutôt que de supposer qu’il s’agit de l’ancien paquet de 2025.

Pourquoi l’erreur WebSocket est-elle apparue après l’erreur du processeur ?

Le tableau de bord lance pour btop une session interactive de type terminal. Si le processus btop s’arrête immédiatement avec une instruction CPU illégale, l’interface perd le service principal avec lequel elle doit communiquer. Les messages de fermeture WebSocket et de refus de connexion peuvent donc être des effets secondaires du plantage du processus.

Il s’agit d’une leçon générale utile pour le dépannage : la première erreur de la console du navigateur n’est pas toujours la cause principale. Comparez-la à ce qui se passe lorsque la commande sous-jacente est exécutée directement.

L’échec du raccourci du Gestionnaire réseau a fourni un indice supplémentaire

Un utilisateur concerné a indiqué que les raccourcis du Gestionnaire de ressources et du Gestionnaire réseau produisaient tous deux le même comportement de reconnexion, tandis que le terminal web ordinaire fonctionnait. Cela suggérait que la défaillance était liée à l’environnement de l’outil lancé par le raccourci plutôt qu’à une panne complète de ttyd.

IceWhale devait encore fournir directement le btop plantage et partagé les informations matérielles du N3450 afin d’identifier le véritable problème de cible de compilation.

Réinstaller la même version 1.3.3 ne modifierait pas les instructions du processeur

Une fois qu’IceWhale a confirmé que le binaire lui-même avait été compilé sans tenir compte du processeur de la ZimaBoard, la réinstallation des navigateurs, l’effacement du cache et la réinstallation de la même version du système ne pouvaient pas corriger le jeu d’instructions de l’exécutable.

La correction durable nécessitait un binaire nouvellement compilé, livré dans la prochaine version de ZimaOS.

La compatibilité matérielle inclut les binaires en espace utilisateur, pas seulement les pilotes du noyau

Les discussions sur la compatibilité portent souvent sur les pilotes réseau, graphiques ou de stockage. Cet incident montre qu’un système d’exploitation x86 générique peut également ne plus fonctionner sur des processeurs plus anciens si une application fournie est compilée avec des instructions que le matériel n’implémente pas.

Pour les machines x86 tierces, un Instruction illégale Le message constitue donc un élément de preuve précieux et devrait être inclus mot pour mot dans un rapport d’assistance.

FAQ sur la compatibilité de btop

Le problème venait-il de Firefox ou de Chrome ?

Non. Les utilisateurs l’ont reproduit avec de nombreux navigateurs et en mode privé.

Quelle était, selon IceWhale, la cause principale ?

Le binaire btop avait été compilé sans tenir compte du jeu d’instructions du processeur de la ZimaBoard.

Quelle version était censée corriger le problème ?

Zima-Giorgio a indiqué que la version corrigée de btop arriverait dans ZimaOS 1.4.0.