KamoCRM

Dwa wątki przebudowały initrę naraz i zniszczyły maszynę

FixKlusterServices
Shipped
24 września 2026 02:15 UTC
Author
Kamo
Commit
a7f4925

Komputer zapasowy, pojawił się i spanikował na następnym bagażniku: Uruchom / init jako proces init Nie można wykonać / init (błąd -2) Panika jądra - nie synchronizacja: Nie znaleziono pracy init. Initrid był pełen rozmiar, 37,8 MB, z tym samym 429- wejście wczesny segment jak złoty obraz i główny segment własny. Jedyną różnicą od obrazu, który butuje: nie / init wewnątrz niego. Dwie ścieżki kodu regenerują initrę, i przebiegają 36 MILISECONDS APART z różnych wątków: 01: 37: 26.658 POST / marking 200, update-initramps opiekuna boot- splash 01: 37: 26.694 Hibernacja gotowość do uruchomienia nitki bagażowej, wewnątrz skonfigurować () 01: 37: 28.963 ponowne uruchomienie więc jądro odbiera CV = Dwie równoległe przebudowy jednego celu, a następnie restart w wyniku. Udowodnione raczej przez eliminację niż wniosek: pojedynczy czysty update- initramfs działa na tym samym dysku produkuje ważny initrd z prezentem głównym / init, i / boot miał 749 MB za darmo, więc ani narzędzie ani przestrzeń nie była w błędzie. Trzy zmiany, bo jeden nie wystarczy: BOOT _ WORK _ LOCK jest teraz przejęty przez wszystko, co przepisze jak komputer buty, i restart _ for _ result odmawia w czasie przechowywania. Restartowanie podczas tej pracy jest tym, co zmienia zły initrd do zniszczonej maszyny. Przewód hibernacyjny w ogóle nie działa. Nigdy nie trzeba było: wznowić = i remove _ offset = na linii poleceń jądra są to, co sprawia, że komputer można wznowić, update- grub pisze im, i ponownie _ configurowane () weryfikuje je przeciwko / proc / cmdline. Plik conf.d / CV jest nadal tak napisane, że next dystribution- reconduction reconstruction zachowuje urządzenie CV - z apt obsługi błędów Wokół niego, a nie naszego. I dwa polecenia, które decydują, czy maszyna może uruchomić nie są już uruchamiane z check = Fałsz. Ich status jest zachowany i ich wyjście jest rejestrowane, a restart jest odrzucany podczas gdy albo nie udało. Że ma mniejsze znaczenie niż wygląda: do czasu update-initramfs nie, szkody jest już na dysk, dlatego właśnie istnieją pierwsze dwie zmiany.

All changes

Like what you see shipping?

All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.

Start Free ForeverView Pricing