Skip to content

infrastructure

Sui : trois arrêts mainnet en 48 h sur la v1.72, deux PR correctifs

Le mainnet Sui s'est arrêté trois fois les 28-29 mai 2026 après la v1.72 ; bug de gas et état d'aléa validateurs corrigés par les PR #26828 et #26846.

par 4 min de lecture

Le mainnet Sui a connu trois interruptions en 48 heures les jeudi 28 et vendredi 29 mai 2026, toutes attribuées par Mysten Labs à la version 1.72 du protocole. Les deux premières découlent d'un bug dans la logique de facturation du gaz introduit par la nouvelle primitive « address balances » ; la troisième, plus tard vendredi, d'un bug latent dans la préservation de l'état d'aléa des validateurs après redémarrage. Le post-mortem officiel est publié sur blog.sui.io ; les correctifs sont visibles dans les PR GitHub #26828 et #26846.

Chronologie

Premier arrêt : début vers 14:00 UTC le 28 mai, durée d'environ six heures avant que les validateurs ne reprennent la production de blocs. Deuxième arrêt : vendredi 29 mai au matin, plus court — les validateurs étaient en train de déployer une première version du correctif. Troisième arrêt : vendredi après-midi, déclenché au changement d'époque programmé. Les validateurs venaient de redémarrer pour adopter le patch matinal, ce qui a exposé un bug latent dans la sérialisation de l'état d'aléa on-chain hérité d'avant la 1.72.

Le bug de gaz, étape par étape

Sous la v1.72, une transaction qui combine un paiement en address balance (la nouvelle primitive de solde sur adresse) et des coin objects classiques peut être annulée pour fonds insuffisants. Dans ce chemin, la routine de paiement du gaz (« gas-smashing ») tentait de débiter des entrées d'address-balance déjà drainées par l'abort, déclenchant un underflow et un crash des validateurs.

Le correctif est livré par la PR #26828 (mergée le 29 mai par mystenmark), qui élague les entrées d'address-balance du paiement de gaz avant le smashing et ne conserve que les vrais coins. La PR #26846, mergée le même jour, ajoute un mécanisme déterministe de fermeture d'époque forcée pour débloquer le réseau coincé après l'apparition du bug d'aléa ; elle est activée pour l'epoch 1142 au consensus commit 768980 sur mainnet. Une PR de suivi (#26829) ajoute le gating par version de protocole afin qu'un correctif comparable ne se déploie plus sans rollout contrôlé.

Chiffres

- Version en cause :       Sui v1.72 (feature « address balances »)
- Nombre d'arrêts :        3 sur 48 heures
- Durée du premier :       ~6 heures (début ~14:00 UTC, 28-05-2026)
- PR correctifs :          #26828 (gas-smashing), #26846 (force epoch close)
- Cible de récupération :  epoch 1142, consensus commit 768980
- Gating de rollout :      PR #26829 (suivi)
- Auteur des PR :          mystenmark (Mysten Labs)
- Fonds utilisateurs :     aucun à risque selon Mysten Labs
- Transactions annulées :  aucune transaction validée n'a été annulée

Que surveiller

  1. La publication d'une 1.72 patchée et l'horizon de déploiement chez les opérateurs de nœuds non-Mysten. Tant qu'une partie des validateurs reste sur la 1.72 d'origine, la fenêtre de récidive existe.
  2. Le gating de protocole introduit par #26829. L'incident a aussi exposé que la 1.72 a pu être activée sans flag de version. La discipline de feature-gating détermine si l'épisode reste exceptionnel ou se répète au prochain saut majeur.
  3. Le post-mortem détaillé. Mysten Labs a publié une première synthèse ; un rapport plus complet est attendu, avec le périmètre exact des transactions impactées et le détail du bug d'aléa, distinct du bug de gas.

Contexte

C'est la troisième défaillance majeure de fiabilité documentée sur Sui depuis le lancement du mainnet en 2023. Le schéma — un bug d'upgrade qui n'est pas attrapé avant la production, suivi d'un patch déployé en urgence par les validateurs core — n'est pas propre à Sui : Solana, Aptos et Aleo ont chacun connu des halts comparables sur leurs deux premières années de mainnet. La différence ici est qu'aucun rollback n'a été nécessaire et qu'aucune perte de fonds n'est rapportée, ce qui place ces incidents dans la même catégorie que les arrêts contrôlés d'Aptos plutôt que les épisodes plus controversés comme la tentative de rollback Flow fin 2025.

La leçon opérationnelle pour les protocoles qui introduisent des primitives de comptabilité on-chain : le chemin d'erreur (InsufficientFundsForWithdraw ici) est aussi critique que le chemin nominal. Le bug n'était pas dans la nouvelle feature, mais dans la composition entre nouvelle feature et abort path préexistant.

Sources :

  • Sui Foundation — Sui Mainnet Halts Resolved After Major Upgrade (1ᵉʳ juin 2026)
  • MystenLabs/sui PR #26828 et #26846 sur GitHub
  • CoinDesk — Three Sui mainnet halts in 48 hours traced to an upgrade bug by developers (1ᵉʳ juin 2026)

Articles liés