LeopardのDTraceに「意図」あり - 原作者が独自の仕様変更を確認

Mac OS X 10.5 (Leopard) に収録されているシステム情報取得機能「DTrace」が、意図的に仕様を変更されていることが確認された。オリジナルのDTrace開発メンバーとして知られるAdam Leventhal氏が、Sun Microsystemsのサイト内にある自身のブログで明らかにしたもの。

ブログに投稿された記事によれば、実行中のプロセスのうち頻繁にファイルシステムへアクセスするもの上位10者を10秒おきにチェックするスクリプトを実行したところ、ある状況下でスキップされてしまう現象を確認。さらにデュアルコアマシンを使い、一定時間ごとにタイマイベントを発生するスクリプトを実行したところ、値が2,000を超えるはずのところが、実際には下回るケースが発生した。

その原因を探ったところ、iTunesのみプロセスとしてカウントされていないことを確認。iTunesのみ測定するようdtraceコマンドを実行しても、まったく反応が得られなかったという。そこでDarwinのソースコードを調べたところ、P_LNOATTACHフラグが有効なプロセスの場合、DTraceの検査対象から外すという拡張が施されていたことが判明した。

Leventhal氏はこの改変について、追跡の概念ともDTraceの目標ともオープンソースの精神とも相容れない、と非難。Mac OS XとDTraceのユーザに対し、適切な移植を行うべきとAppleに働きかけようと訴えている。

人気記事

一覧

新着記事