Erreur sur la sonde activée: syscall :: open_nocancel: entrée): accès utilisateur non valide dans l'action # 2 sur DIF

11

J'ai le one-liner suivant pour afficher les fichiers ouverts par processus:

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

mais j'ai plein d'erreurs répétées telles que:

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

Je suis conscient que je peux les supprimer en redirigeant vers 2> /dev/null.

Que signifient ces erreurs et pourquoi se produisent-elles?

Est-ce une dtracefaute ou un processus spécifique à l'origine de cela? Et comment résoudre ce problème?

J'utilise OS X 10.11.2

Kenorb
la source

Réponses:

14

Cela est potentiellement lié à El Capitan et à sa protection d'intégrité du système ( csrutil status) qui peuvent affecter le dtracecomportement.

Le correctif potentiel comprend le redémarrage de Mac en mode de récupération ( - Rau démarrage), puis dans l'exécution du terminal:

csrutil enable --without dtrace

pour garder SIP activé, mais désactivez les restrictions DTrace (remarque: il s'agit d'un paramètre non documenté ).

Ou désactivez complètement SIP en:

csrutil disable # Not recommended.

Voir:

Kenorb
la source