Populární témata
#
Bonk Eco continues to show strength amid $USELESS rally
#
Pump.fun to raise $1B token sale, traders speculating on airdrop
#
Boop.Fun leading the way with a new launchpad on Solana.
V tuto chvíli jsem našel 10 LoA napříč firedancer a agave, které dělají věci během mé práce nebo při provozu validátorů.
Můj zatím nejoblíbenější byl bug ve Frankendanceru, který znemožnil nodeům připojit se do sítě. v srpnu loňského roku bylo ≈8 hodin, kdy žádný uzel Frankendancer nemohl připojit k mainnetu, i když uzly, které už byly online, mohly zůstat online. Ve skutečnosti to zabránilo Cavey Cool validátoru připojit se do sítě, což jsem musel ručně opravit, než byla oficiální záplata vydána. Nebyl jsem první, kdo to nahlásil, ale i tak je to velmi zábavné.
Problém byl v tom, že při spuštění Validátor četl kontaktní údaje všech validátorů. to zahrnovalo i jméno validátora, např. "Temporal Emerald". při kopírování názvu zkopíroval 64 bajtů z řetězce jmen do bajtového pole a zbytek bajtů zkrátil. Když se později pokusil použít tyto bajty jako řetězec, narazil na problém: ne každý znak je jeden bajt!
validátor s názvem "pico.sol🙄💎+ Firedancer🔥💃 + DoubleZero + giveaways🎉" měl tehdy znak 🎉, který sahal od bajtu 62 do 66, což způsobilo pád všech těchto uzlů při spuštění, když byl znak zkrácen.
Oprava byla jednoduchá: aktualizovat logiku ořezávání, aby byla vědoma UTF-8, přičemž pokud by byl znak ořezaný, ořezával dříve v řetězci.
Top
Hodnocení
Oblíbené
