𝗗𝗮𝗻𝗶𝗲 𝗱𝗼𝗯𝗿𝗼 𝗻𝗮𝗺 𝗽𝗼𝗿𝗮𝗱𝗼𝗻𝗼 𝗻𝗮 𝗔𝘁𝗼𝗺𝗶𝗰𝗶𝘁𝘆 𝗩𝗶𝗼𝗹𝗮𝘁𝗶𝗼𝗻 𝗖𝗵𝗲𝗰𝗸𝗲𝗿:
Nasz czwarty kontroler Rust w trwającej serii wątków Chain-Fox dotyczących problemów z równoległością i bezpieczeństwem w projektach Rust.
Subtelne błędy równoległości mogą cicho podważać twoje systemy. Nasze następne narzędzie ujawnia je.
To kontynuacja naszego dogłębnego badania kontrolerów Chain-Fox dla Rust.🧵

𝗪𝗵𝗮𝘁 𝗱𝗼𝗲𝘀 𝘁𝗵𝗶𝘀 𝗰𝗵𝗲𝗰𝗸𝗲𝗿 𝗱𝗼
Wykrywa potencjalne warunki wyścigu spowodowane przeplatanymi operacjami atomowymi w programach Rust z wieloma wątkami.
Operacje atomowe, które wydają się bezpieczne w izolacji, mogą naruszać logikę, gdy są łączone bez odpowiedniej synchronizacji.
𝗣𝗿𝗼𝗯𝗹𝗲𝗺
Kiedy wiele operacji atomowych uzyskuje dostęp do tej samej zmiennej, a te dostępne są przeplatane operacjami atomowymi innego wątku, może to naruszyć inwarianty programu.
Skutkuje to błędami logicznymi, które są trudne do odtworzenia i jeszcze trudniejsze do debugowania.
Dlaczego to ma znaczenie
Te błędy nie powodują awarii twojego programu
Powodują, że działa on nieprawidłowo
W systemach blockchain lub aplikacjach współbieżnych może to prowadzić do utraty wiadomości, zerwania konsensusu lub przestarzałego stanu.
𝗛𝗼𝘄 𝘁𝗵𝗲 𝗰𝗵𝗲𝗰𝗸𝗲𝗿 𝘄𝗼𝗿𝗸𝘀
Checker naruszenia atomowości analizuje pośrednią reprezentację MIR Twojego kodu Rust
Identyfikuje wzorce, w których operacje atomowe nie mają odpowiedniej synchronizacji
Raportuje:
• Typy operacji atomowych
• Miejsca w kodzie, w których występują
𝗥𝗲𝗮𝗹-𝘄𝗼𝗿𝗹𝗱 𝗶𝗺𝗽𝗮𝗰𝘁
To nie jest tylko teoria. Oto błąd, który odkryliśmy w parity-ethereum
𝗙𝗶𝘅 𝗮𝘁𝗼𝗺𝗶𝗰𝗶𝘁𝘆 𝘃𝗶𝗼𝗹𝗮𝘁𝗶𝗼𝗻 𝗶𝗻 𝗻𝗲𝘁𝘄𝗼𝗿𝗸-𝗱𝗲𝘃𝗽𝟮𝗽 autorstwa Chain-Fox · Pull Request #11277
openethereum/parity-ethereum
𝗗𝗹𝗮𝗰𝘇𝗲𝗴𝗼 𝗷𝗲𝘀𝘁 𝗻𝗲𝘇𝗯𝗲𝗱𝗻𝗲 𝗱𝗹𝗮 𝗱𝗲𝘃𝗲𝗹𝗼𝗽𝗲𝗿𝗼𝘄 𝗥𝘂𝘀𝘁
• Rust zapewnia bezpieczeństwo pamięci, ale współbieżność pozostaje logicznym polem minowym
• Operacje atomowe mogą cicho oddziaływać między wątkami
• Nasz kontroler wychwytuje to, czego kompilator nie może
Buduj poprawny kod współbieżny z pewnością
𝗙𝗼 𝗱𝗼𝗿𝗮𝗱𝗼 𝘇𝗮𝗻𝗮𝗹𝗶𝘀𝗼𝘀𝗹𝗶𝘀𝗺𝘆 𝗼𝗯𝗷𝗮𝘀𝗻𝗶𝗹𝗶𝘀𝗺𝘆 𝗰𝘇𝘆𝗿𝗲 𝗥𝘂𝘀𝘁 𝗰𝗵𝗲𝗰𝗸𝗲𝗿𝘀 𝗶𝗻 𝘁𝗵𝗲 𝗖𝗵𝗮𝗶𝗻-𝗙𝗼𝘅 𝘀𝘂𝗶𝘁𝗲
• Double-Lock Checker
• Conflict-Lock Checker
• Condvar Misuse Checker
• Atomicity Violation Checker
Więcej w drodze. Omówimy następny w naszym nadchodzącym wątku.
87
4,8 tys.
Treści na tej stronie są dostarczane przez strony trzecie. O ile nie zaznaczono inaczej, OKX nie jest autorem cytowanych artykułów i nie rości sobie żadnych praw autorskich do tych materiałów. Treść jest dostarczana wyłącznie w celach informacyjnych i nie reprezentuje poglądów OKX. Nie mają one na celu jakiejkolwiek rekomendacji i nie powinny być traktowane jako porada inwestycyjna lub zachęta do zakupu lub sprzedaży aktywów cyfrowych. Treści, w zakresie w jakim jest wykorzystywana generatywna sztuczna inteligencja do dostarczania podsumowań lub innych informacji, mogą być niedokładne lub niespójne. Przeczytaj podlinkowany artykuł, aby uzyskać więcej szczegółów i informacji. OKX nie ponosi odpowiedzialności za treści hostowane na stronach osób trzecich. Posiadanie aktywów cyfrowych, w tym stablecoinów i NFT, wiąże się z wysokim stopniem ryzyka i może podlegać znacznym wahaniom. Musisz dokładnie rozważyć, czy handel lub posiadanie aktywów cyfrowych jest dla Ciebie odpowiednie w świetle Twojej sytuacji finansowej.