Slashdot Mirror


Apple Crippled Its DTrace Port

Linnen writes in to note that one of developers of Sun's open source system tracing tool, DTrace, has discovered that Apple crippled its port of the tool so that software like iTunes could not be traced. From Adam Leventhal's blog: "I let it run for a while, made iTunes do some work, and the result when I stopped the script? Nothing. The expensive DTrace invocation clearly caused iTunes to do a lot more work, but DTrace was giving me no output. Which started me thinking... did they? Surely not. They wouldn't disable DTrace for certain applications. But that's exactly what Apple's done with their DTrace implementation. The notion of true systemic tracing was a bit too egalitarian for their classist sensibilities..."

6 of 476 comments (clear)

  1. DRM? by StevisF · · Score: 4, Interesting

    Could this to help prevent circumvention of DRM?

  2. Luckily... by cromar · · Score: 5, Interesting

    From the DTrace source (in an #IFDEF APPLE):
    /*
    * If the thread on which this probe has fired belongs to a process marked P_LNOATTACH
    * then this enabling is not permitted to observe it. Move along, nothing to see here.
    */


    Luckily no malicious programmer will mark their malware's process with this flag!

    1. Re:Luckily... by Hamilton+Lovecraft · · Score: 3, Interesting

      Google says Results 1 - 10 of about 91,600 for "move along, nothing to see here" -site:slashdot.org.

      --
      step 3: god dammit, it doesn't work
  3. One question: by MsGeek · · Score: 3, Interesting

    Isn't this a F/OSS program? Couldn't you just recompile an uncompromised version of the source?

    --
    Knowledge is power. Knowledge shared is power multiplied.
  4. One step back by bdgregg · · Score: 5, Interesting

    Yes, it's annoying - every time we examine the system we are now looking at everything except for iTunes (and possibly Spy-WaR3 ;-). But this issue is about more than just that.

    I've introduced DTrace to many companies. While most people love it, some developers of closed source software are concerned about people DTracing their code. DTrace allows customers to gather proof of bugs that are embarrassing, hard to fix, or that the developers have deny existed. I've been asked many times if DTrace can be disabled for an application, usually to avoid negative publicity from the bugs that DTrace will expose. The answer has always been no. It's been great to see developers accept this reality and escelate bug fixing.

    This is expected - DTrace visibility should improve overall code quality in IT. Hopefully it will also encourage employers to hire better programmers - since if customers don't use DTrace to point out embarassing bugs, then competitors may. It also erodes reasons to stay closed source - customers can use DTrace to see the code anyway.

    Giving developers another option, to disable DTrace visibility, is allowing a backwards step from the future.

  5. OS-X itself by Sycraft-fu · · Score: 3, Interesting

    It is DRM'd to only run on Apple hardware. There is nothing technical that prevents it from running on any modern PC since that is indeed what Macs are now. However that won't work, hence there are groups out there that have to hack it to disable that and allow it to run on any hardware.

    You can argue till your blue in the face that they need to do this, doesn't change what they are doing. If it wasn't DRM'd, it'd run fine on any hardware that met its technical requirements.