Apple cripples DTrace



  • Don't get me wrong. I'm a long and devoted Apple fan, but this:

    Quote:

    #if defined(__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. */ if (ISSET(current_proc()->p_lflag, P_LNOATTACH)) { continue; } #endif /* __APPLE__ */

    Coming to think of it. Its actually not a WTF, it's a WTH - read: "what the heck!" 



  • Is the source for the mac port readily available?

    If so, wouldn't it be pretty trivial to remove the offending code?

    If not, where does the above snippit come from?

     

    Dtrace itself is open source.  Is there anything preventing the open source community from porting it themselves? (I wouldn't be too suprised if there is something, since the OS X kernel is proprietary)





  •  Fixing it is easy. Persuading the fixed code to run on an actual macsox system, rather than raw darwin, is quite hard.



  • @asuffield said:

     Fixing it is easy. Persuading the fixed code to run on an actual macsox system, rather than raw darwin, is quite hard.

     

    What obstacles get in the way of that?

     



  •  Figures, there's already a workaround for this issue:

    http://landonf.bikemonkey.org/code/macosx/Leopard_PT_DENY_ATTACH.20080122.html 



  • @asuffield said:

     Fixing it is easy. Persuading the fixed code to run on an actual macsox system, rather than raw darwin, is quite hard.

    I'm afraid I don't follow.



  • Can someone fill me in on why, exactly, this is so evil? Surely the point of making the thing open source in the first place was to let others do with the code as they wish. If you don't like someone altering your code, possibly making it work in some way you don't like, then open source is not for you.



  • It's evil because it breaks a perfectly working piece of software in order to protect an arbitrary application from being traced. Next step: prevent people from writing bad stuff about Apple from an Apple computer.

    He's right to be angry. Open source doesn't mean you are entitled to voluntarily cripple an application called "dtrace" and still call it "dtrace".



  • @emurphy said:

    @asuffield said:

     Fixing it is easy. Persuading the fixed code to run on an actual macsox system, rather than raw darwin, is quite hard.

    What obstacles get in the way of that?

     

    I'm no macosx expert, but IIRC you don't have all the source to the kernel as used on macosx - they add some more stuff for the proprietary version - so you cannot simply rebuild it with the fix. You'd have to do some kind of funky relinking to splice in the fixed code to their binary.



  • @Da' Man said:

    Don't get me wrong. I'm a long and devoted Apple fan

      Aaaaand that, ladies and gentlemen, is the Real ....

     

    ahh, I can't finish, it's just too easy...



  • @asuffield said:

    @emurphy said:

    @asuffield said:

     Fixing it is easy. Persuading the fixed code to run on an actual macsox system, rather than raw darwin, is quite hard.

    What obstacles get in the way of that?

     

    I'm no macosx expert, but IIRC you don't have all the source to the kernel as used on macosx - they add some more stuff for the proprietary version - so you cannot simply rebuild it with the fix. You'd have to do some kind of funky relinking to splice in the fixed code to their binary.

    Apparently the issue is DTrace support in the kernel, not the package itself.  DTrace has hooks in the kernel and kernel modules that allow inspection.


  • @Kiss me I'm Polish said:

    It's evil because it breaks a perfectly working piece of software in order to protect an arbitrary application from being traced. Next step: prevent people from writing bad stuff about Apple from an Apple computer.

    Absolutely right. Taking a minimal, easily-bypassed step to prevent trivial copyright violations in accordance with multi-million-dollar contracts in order to lure content to the platform is [i]exactly equivalent[/i] to quashing dissent with jackboots. And trying to make a profit obviously turns them into a bunch of fascists.

    @Kiss me I'm Polish said:

    He's right to be angry. Open source doesn't mean you are entitled to voluntarily cripple an application called "dtrace" and still call it "dtrace".

    From what I've read here and on the other pages, it looks like the application itself behaves normally, but the kernel hooks are masked on a per-thread basis. Are they not allowed to modify their own kernel?

    Besides, the whole point of open source is that you give the source code to other people to do with as they please -- they don't have to get your ideological approval on every application of it, beyond keeping the results open source, which Apple has apparently done. If this doesn't satisfy the open source crowd, then perhaps it's time to make those licenses stricter. Maybe they could add a statement to the GPL for the next version saying "anyone seeking to use this code in a product released to the public must first submit a fully-detailed written proposal listing all changes they have made to the original authors, and are forbidden from release until they receive approval." That appears to be what you (and the other open source fanatics) want, although it would probably put a stop to adoption of open source tools by the rest of the world.

    Or, of course, we could just admit that nothing Apple does is ever good enough for the vocal open source fanboys because vocal open source fanboys as a group are a bunch of hypocritical hysterical whiners. If Apple adopts an open source product without significant changes, they're evil for not contributing to the project. If Apple adopts an open source product and makes significant changes, they're evil for taking the source code in a direction not envisioned by the authors. If Apple puts their changes in the main branch, they're evil for "corrupting" a "pure" open source project. If they start a new branch, they're evil for "withholding" their changes from the broader community. If Apple adopts an open source project but doesn't assign engineers to it, then they're parasites making money off of the open source community. If Apple adopts an open source project and assigns engineers to work on it, then they're trying to control the project. If Apple hires the main contributors to the project to work on the project, then they're stifling open source by putting developers under NDA. And if Apple doesn't use an open source project, then they're evil for not embracing open source. (I've seen all of these claims made.)

    Tell you what: you open source people hold a meeting somewhere, work out a coherent direction you want to go in, write instructions on how to live up to your expectations, and get back to us. Until then, I'm going to start mentally substituting "fuh fuh fuh fuh" for every complaint I see you make.


  • ♿ (Parody)

    @The Vicar said:

    Tell you what: you open source people hold a meeting somewhere, work out a coherent direction you want to go in, write instructions on how to live up to your expectations, and get back to us. Until then, I'm going to start mentally substituting "fuh fuh fuh fuh" for every complaint I see you make.

     

    fuh fuh fuh fuh



  • @The Vicar said:

    Tell you what: you open source people hold a meeting somewhere, work out a coherent direction you want to go in, write instructions on how to live up to your expectations, and get back to us.

    Which people?

    A lot of the crap you quote was made up by corporations and analysts who have nothing to do with "open source", and in fact a track record of opposing it.

    You might almost think they were trying to discredit somebody... 



  • @asuffield said:

    @The Vicar said:

    Tell you what: you open source people hold a meeting somewhere, work out a coherent direction you want to go in, write instructions on how to live up to your expectations, and get back to us.

    Which people?

    A lot of the crap you quote was made up by corporations and analysts who have nothing to do with "open source", and in fact a track record of opposing it.

    Nonsense. I'm thinking of complaints from people like you, found on this site and other techie sites. I'm thinking of the whole "Apple is ruining KHTML" thing, the "Darwin isn't really open source", which then became "Darwin may be open source but it isn't done right", Apple's interactions with CUPS (whose inventor is now an employee), the "Apple won't release the Intel Darwin kernel source so they're evil" which had to be followed by "okay maybe they've released it but they're still evil because I refuse to admit I was hasty" and so on [i]ad infinitum[/i]. And [i]ad nauseum[/i]. I have yet to see an open source advocate bash Apple for doing something "wrong" who then apologizes later when Apple does the "right" thing.

    The KHTML incident is particularly instructive. There was a huge outcry over Apple's alleged abuse of the code to make Webkit, which went on for weeks, and open source fanboys were endlessly bashing Apple. Now that some time has passed, the Webkit code has been incorporated and the actual KHTML coders think it's great stuff. Without Apple, KHTML would definitely have taken a different direction, and the one it [i]has[/i] taken is a definite success.

    I'm not bashing the open source model, mind you. I'm bashing open source [i]enthusiasts[/i]. It used to be that Mac enthusiasts were the most vocal whiners on the net, but I'd say they passed the torch to you guys about a year and a half ago.



  • @The Vicar said:

    @asuffield said:

    @The Vicar said:

    Tell you what: you open source people hold a meeting somewhere, work out a coherent direction you want to go in, write instructions on how to live up to your expectations, and get back to us.

    Which people?

    A lot of the crap you quote was made up by corporations and analysts who have nothing to do with "open source", and in fact a track record of opposing it.

    Nonsense. I'm thinking of complaints from people like you, found on this site and other techie sites.

    ... 

    I'm thinking of the whole "Apple is ruining KHTML" thing, the "Darwin isn't really open source", which then became "Darwin may be open source but it isn't done right", Apple's interactions with CUPS (whose inventor is now an employee), the "Apple won't release the Intel Darwin kernel source so they're evil" which had to be followed by "okay maybe they've released it but they're still evil because I refuse to admit I was hasty" and so on ad infinitum. And ad nauseum.

    I never said any of those things (all else aside, I don't generally use terms like "open source"). I don't know anybody who said any of those things, and I know more than a few free software developers. I do, however, recall some anti-open-source "analysts" who said those things and then tried to pass the blame when it turned out that they were full of shit.

    And you're sounding a lot like another one of them.



  • at least for Khtml i believe it went a bit like this.

    1. it get's known apple is going to use khtml for safari.
    2. khtml people cheer.
    3. time passes
    4. someone mentions apple hardly/doesn't release patches back.
    5. (most) khtml people shrug
    6. slashdot writes story that apple are terrorists of foss
    7. apple releases patches
    8. khtml people cheer

     

     


  • ♿ (Parody)

    @The Vicar said:

    I'm thinking of complaints from people like [asuffield], found on this site and other techie sites. [etc...]

     

    Well, the fact is that there are many people with many different views.  It turns out that while they may share some things in common, they may also have some very different beliefs.  Also, some of them are idiots.  Also, many of those things that Apple did may be less than optimal for the very reasons cited, even if they do seem contradictory.  There are definitely situations where you can't win no matter what you do.  So you (well, I do, at least) try to find the best of your options.

    Your complaint is like writing off all the citizens of a particular country because some of them hold conflicting opinions.  I think you'll either have to get over it, or give up communicating with the outside world.


Log in to reply