De acordo com esta postagem no blog (com mais informações aqui ), é causado pelo iTunes, que o DTrace "filtra", por isso não pode ser usado para tentar quebrar o DRM do iTunes.
Sair do iTunes resolve o erro.
Ao executar iotop -C 5 12
no meu Macbook Pro do final de 2010 (10.6.7), recebo instâncias repetidas desse erro:
dtrace: error on enabled probe ID 5 (ID 19507: io:mach_kernel:buf_strategy:start): illegal operation in action #3 at DIF offset 0
Qual é a causa disso e como corrigi-lo?
De acordo com esta postagem no blog (com mais informações aqui ), é causado pelo iTunes, que o DTrace "filtra", por isso não pode ser usado para tentar quebrar o DRM do iTunes.
Sair do iTunes resolve o erro.
Os erros estão recebendo saída para stderr e podem ser filtrados executando o comando como tal:
sudo iotop -C 5 12 2>/dev/null
Isso tem o efeito colateral de filtrar quaisquer outros erros que possam surgir. Eu achei que fosse uma boa compensação, pois isso tornou minha saída iotop legível.
Não sei qual é a causa dos erros, infelizmente. Eu pesquisei, mas não consegui encontrar nada ainda.
Em resumo, o erro é exibido ao tentar rastrear um processo que solicitou que não seja rastreado.
O erro não é tecnicamente causado pelo iTunes, mas por um processo que desabilitou o rastreamento, usando um código como o seguinte.
ptrace(PT_DENY_ATTACH, 0, 0, 0);
Esse código define um sinalizador no processo no nível do kernel, o que impede a depuração e o rastreamento do processo.
O aplicativo mais conhecido que faz isso é o iTunes, o aplicativo para o qual essa API do DRM provavelmente foi inventada, mas a API está disponível para outros processos. Eu já vi vários aplicativos de terceiros usarem essa API.
É claro que, como todo DRM, ele pode ser quebrado. As opções para contornar esse recurso de anti-rastreamento e anti-depuração variam de usar um depurador para pular a chamada da API para extensões do kernel que remendam o recurso no espaço do kernel.
Extraído de link
This is potentially related to El Capitan and its System Integrity Protection (
csrutil status
) which can affect thedtrace
behaviour.The potential fix includes rebooting Mac into recovery mode (⌘-R at boot time), then in Terminal run:
csrutil enable --without dtrace
to keep SIP enabled, but disable DTrace restrictions (note: this is undocumented parameter).
Or disable SIP completely by:
csrutil disable # Not recommended.
See:
Tags mac troubleshooting