Podczas pracy iotop -C 5 12
na moim MacBooku Pro z końca 2010 r. (10.6.7) często pojawiają się następujące błędy:
dtrace: error on enabled probe ID 5 (ID 19507: io:mach_kernel:buf_strategy:start): illegal operation in action #3 at DIF offset 0
Co jest tego przyczyną i jak to naprawić?
mac
troubleshooting
Chris R.
źródło
źródło
Błędy są wysyłane do stderr i można je odfiltrować, uruchamiając takie polecenie:
Ma to efekt uboczny filtrowania wszelkich innych błędów, które mogą się pojawić. Stwierdziłem, że jest to dobry kompromis, ponieważ sprawia, że mój wynik iotop jest czytelny.
Niestety nie jestem pewien, jaka jest przyczyna błędów. Szukałem, ale na razie nic nie znalazłem.
źródło
Krótko mówiąc, błąd jest wyświetlany przy próbie śledzenia procesu, który zażądał, aby nie był śledzony.
Błąd nie jest technicznie spowodowany przez iTunes, ale przez proces, który wyłączył śledzenie, używając kodu takiego jak poniżej.
Ten kod ustawia flagę procesu na poziomie jądra, co zapobiega debugowaniu i śledzeniu procesu.
Najbardziej znaną aplikacją, która to robi, jest właśnie iTunes, aplikacja, dla której DRM ten interfejs API został prawdopodobnie opracowany, ale interfejs API jest dostępny dla innych procesów. Widziałem wiele aplikacji innych firm korzystających z tego interfejsu API.
Oczywiście, podobnie jak wszystkie DRM, można go złamać. Opcje obejścia tej funkcji funkcji śledzenia i debugowania - od debugera do pomijania wywołania API do rozszerzeń jądra, które łatają tę funkcję w przestrzeni jądra.
źródło
Zaczerpnięte z /unix//a/276219
źródło