Erro no teste habilitado: syscall :: open_nocancel: entry): acesso de usuário inválido na ação nº 2 no DIF

10

Eu tenho o seguinte one-liner para mostrar arquivos abertos por processo:

sudo dtrace -n 'syscall::open*:entry { printf("%s %s",execname,copyinstr(arg0)); }'

No entanto, tenho vários erros repetidos, como:

dtrace: error on enabled probe ID 4 (ID 946: syscall::open_nocancel:entry): invalid user access in action #2 at DIF offset 24

dtrace: error on enabled probe ID 7 (ID 160: syscall::open:entry): invalid user access in action #2 at DIF offset 24

Estou ciente de que posso suprimi-los redirecionando para 2> /dev/null .

O que esses erros significam e por que eles estão acontecendo?

É dtrace falha ou algum processo específico que causa isso? E como esse problema pode ser resolvido?

Estou usando o OS X 10.11.2

    
por kenorb 08.04.2016 / 17:45

1 resposta

13

Isso está potencialmente relacionado ao El Capitan e sua proteção de integridade do sistema ( csrutil status ), que pode afetar o comportamento dtrace .

A possível correção inclui a reinicialização do Mac no modo de recuperação ( - R no momento da inicialização), em seguida, em Execução do terminal:

csrutil enable --without dtrace

para manter o SIP ativado, mas desative as restrições do DTrace (observação: este é o parâmetro não documentado ).

Ou desative o SIP completamente por:

csrutil disable # Not recommended.

Veja:

por 13.04.2016 / 17:28