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..."
Come on, this isn't a class struggle. It's Big Business trying to protect their intellectual property. DRM sucks, this is yet another way in which it degrades computer systems. But Apple's just being a company, and their hack to DTrace is actually good coding. Dislike their choice, sure. But there's no epic struggle for humanity here.
Apple is as much the DRM laden threat to open computing as Microsoft is. We may have circumvented this issue this time, but what about the time after that? and after that? Its a cat and mouse game Apple is going to play.
This will be a big help for me in my quest for a legion of Mac zombies
I don't care if it's 90,000 hectares. That lake was not my doing.
From TFA:
That may have been Apple's intent, but as usually happens in such cases, the end result is to encourage people to find out new ways around the 'protections' that have been inflicted.
In Xanadu did Kubla Khan
A stately pleasure dome decree
The most likely reason for this is to prevent circumvention of DRM, the same DRM mandated by the studios for participation in the iTMS. "A little too egalitarian for their classist sensibilities"? Give me a fucking break. DTrace is hardly crippled, although these modifications are certainly not ideal. Maybe we could actually discuss the real effects, and potential solutions, instead of spewing sensationalist rhetoric? Of course not.
You of all people should know that you give up your freedom to use your software and hardware as you wish when you use proprietary software. Apple's continuous attempt to stop people from changing software on their home computers is a good example of how they feel about freedom. They only side with freedom when it is immediately beneficial.
Could this to help prevent circumvention of DRM?
Of course.
The interesting issue is that nobody can compete with Apple on, say, a music store effectively.
When they add a new iTunes feature, they can change Quicktime to support it or they can disable DTrace so people can't easily reverse it. Nobody else can do that. They're probably not going to get into a DOJ tiff over it, though - Bush [the _ administration] isn't likely to get into it, and Al Gore is on their board.
And so it's probably not surprising that the iTunes DRM defeaters are on Windows, which is where their sales base is anyway. So, spending this effort on OSX is really just a waste of time.
Personally, Amazon is my iTunes DRM defeat. I own a total of 2 iTunes Plus songs - they never have anything I want without DRM.
My God, it's Full of Source!
OUTSIDE_IP=$(dig +short my.ip @outsideip.net)
Quote:
"So Apple is explicitly preventing DTrace from examining or recording data for processes which don't permit tracing. This is antithetical to the notion of systemic tracing, antithetical to the goals of DTrace, and antithetical to the spirit of open source."
Diagnostic tool that won't look at all processes is no tool at all.
You can't talk about Wikipedia's flaws on Wikipedia
I've never seen Apple market OSX as a Unix system or even talk about the shell.
Its main market is for an easy to use home computer and as a creative platform for video editing, graphic design and professional audio.
If you want a command line you're fully in control of, use Linux or a BSD Unix.
It's a commercial OS and Apple will do what they like so long as its legal.
The /. summary and most of the /. posters seem to be missing the point of the article. (To be fair, the author wasn't too clear himself. He's done some clarification in the comments section of his article.)
Sure, it's annoying that DTrace can't "see" iTunes. But that's more of a DRM issue. Whether you agree with DRM and Apple's implementation of it or not, this DTrace feature is merely a logical extension of that issue.
The real problem though is that this feature actually does break iTunes. If DTrace probes while the iTunes application happens to be the application currently running on the CPU, the DTrace probe won't run. (It's technically a thread of iTunes' at that moment.) So not only will DTrace not show iTunes, it won't show ANY information until it happens to fire off when iTunes isn't the app running on the CPU.
It is fair to say that Apple has made a change to DTrace that has introduced a bug that they need to fix. It is possible for them to fix that bug while continuing to block using DTrace on iTunes.
There's no friendship, you're just a fan and Apple rakes in your money. They love this cult like status, some of it is well deserved, their design is unmatched in the computer field. If Mac fans were a little more reserved instead of opening their wallets then Apple would stop and think a bit more.
:)
I'm by no means a fan boy, I own a Mac Pro and I run Leopard. They're just tools and even with Apple's flaws I'll still with them until something better appears.
Right now I'd sooner eat a slightly damaged apple than look through broken windows
I just don't see what the big deal with all of this is. Smart people don't touch ITunes, because it's just going to help feed the beast. People seem to have forgotten how Jobs ran Apple the last time he was in charge. He's merely a lot more charismatic than Gates. But they are both equally self-serving.
Thankfully there are options which involve neither company.
Apple Fanboy: "Well, you see, Apple had to do this because they were protecting their interests. Yeah, thats right, Apple can do no wrong. Wait, what's that!? Microsoft is implementing DRM in Windows Media Player.. How dare they! Microsoft = EVIL"
Apple is not a monopoly...
Apple is not a monopoly...
Apple is not a monopoly...
Apple is not a monopoly...
Apple is not a monopoly...
Apple is not a monopoly...
Apple is not a monopoly...
Apple is not a monopoly...
Apple is not a monopoly...
Apple is not a monopoly...
Apple is not a monopoly...
Apple is not a monopoly...
Apple is not a monopoly...
If I say it enough times, maybe I'll start to believe it...
So, uh, why don't you open source wizards recompile DTrace without the code that checks P_LNOATTACH?
step 3: god dammit, it doesn't work
Darwin is Apple's stuff. They made it. It is based on BSD, but the BSD license doesn't require them to release the source (does it? IANAL). It is also based on NeXTSTEP, which was acquired by Apple in the 90s.
Apple's record with open source is inconsistent. Sometimes they develop internally and release source (Darwin, Bonjour), sometimes they collaborate with open source projects and share (WebKit with KDE), sometimes they buy out someone's software (Cover Flow), sometimes they steal ideas and never credit original authors (Dashboard).
Apple has its own open source license, the Apple Public Source License, approved by OSI and the FSF. However, they also release under the Apache license as well.
I would say in general, Apple is very open source-friendly, and a lot of open source developers I know have flocked to the Mac. It's just sometimes they have some evil empire corporation actions that make us Apple users shake our heads.
Scorta futuere amo!
>>>When Apple begins sending out legions of hunter-killer robots
If don't plan on getting out of your easy chair till you see the hunter-killer robots running about...you sir are fucked.
You're a sheep. You would have been kindling at Auschwitz. You're the kind of person that's "ohhhh look at the pretty colors, life is so sweet" meanwhile the city is burning.
I'm not even talking about getting up and attacking apple. I'm talking about SIMPLY RECOGNIZING that this isn't a good thing. You could take 2 minutes to write them "as a supporter of apple" you don't appreciate their nonsense.
But no, you're going to go whole heartedly out to defend such bullshit.
Well...you deliver yourself up. Other people died for your right to breathe. And now others will fight for your right to privacy. While you do nothing, in fact worse then nothing.
Most likely, Apple's intent is to deliver a 'credible effort' to prevent circumvention and/or reverse engineering.
Even though the labels have largely dropped DRM, they still don't like the idea of users having control over digital music. It's part of their DNA. Their whole business revolved around having control over the production and distribution systems, and they just can't contemplate existence without having control over something. The contracts between Apple and the labels reflect that fear, with Apple having the job of making it look like the horses are still in the barn even though the door is open.
Now technically, that's impossible. But my experience with corporate software development has shown me that you can balance 'customers who don't want to know what's impossible' with judicious use of handwavium. You don't have to build a solution that's bulletproof, you just need something that works most of the time. It doesn't matter if there are workarounds, or even if those workarounds are practically trivial for anyone with a technical background, as long as you can't discuss the workaround without using technical terms.
It's sort of an extension of the Sapir-Whorf hypothesis. It's not that your customers can't think about the problem if you lack the vocabulary, it's more that they won't want to think about the problem if they have to spend effort learning how to discuss it intelligently.
So from a contractual standpoint, providing a 'credible effort' is more about obfuscation than actually trying to do the impossible. Apple probably doesn't care if people can work around this issue, as long as the explanation boils down to 'blah blah blah' to aggressively uninformed label executives.
Yeah and if this were Microsoft doing something similiar you'd be all up in arms screaming about how they were being Evil(tm). Fucking hypocritical fanbois. How does Steve's dick taste, anyways?
The guy wants Apple to ship a working DTrace. Why should they? To regain community goodwill and get absolution from an official DTrace developer. He left the door open for that. That's the carrot. By publicizing statements on his blog and getting it submitted to Slashdot, he has proved how much trouble he can stir up. By understating the case, he reserves the threat of stating it plainly if they take no action. That's the stick. Now Apple has to weigh community goodwill against DRM dollars and decide whether to ship a working DTrace. Whereas, if he had immediately shoved the carrot up his ass and started flailing around with the stick, Apple would have shrugged their shoulders and moved on.
People will, and probably have; but when Apple starts to allow only Apple signed software to run, then that can't do much.
This course will cause Apple to loose what they have gained in the last 5 years.
The Kruger Dunning explains most post on
We never ever criticize our heroes ever.
The difference you seem to be missing here is that Steve Jobs only occasionally does a boneheaded thing like this against his fan base. Bill Gates only occasionally doesn't.
Weaselmancer
rediculous.
Apple boxes don't use the same kind of BIOS as a non-Apple box. If you somehow got a retail OS-X DVD to install on your Compaq, it wouldn't boot.
Now, it's not too hard to get around this (install Darwin), but there actually is something "technical that prevents it from running on any modern PC".
That isn't a monopoly. Buy a dictionary.
If you can't get accurate counter data (on some completely unrelated thing... say, disk accesses, or page faults, or cache hits) because any interrupts that happen whenever a protected process is on top of the run list are silently eaten, that's pretty darned broken.
Look, I understand that Apple cares about their DRM. Fine and dandy, good for them -- but it'd be nice if they could protect it in a way that didn't break DTrace scripts that have nothing to do with trying to hack the DRM in iTunes.
Serious question...
Without Apple DRM, iTunes (store) would be impossibleAnd this would be bad, why exactly?
Because we all so desperately need a way to pay about the same, or perhaps more, for 128kbps lossily-compressed, DRM'd audio, only available through a hideous bloatware piece of shit software, and only playable on an overpriced, underfeatured hipster accessory, than we do for uncompressed, un-DRM'd CD audio, which we can buy in any record shop and play on any CD player?
I call BULLSHIT.
If they're selectively telling this app NOT to log "certain types of traffic", and give no notification of such, or allow the functionality to be restored, then it's CRIPPLED.
I'm so sick of apologists telling me that stuff that's broken is broken for a good reason and that I should be glad someone deigned to allow me to hack it back to some semblance of functionality without getting sued into oblivion!
Chas - The one, the only.
THANK GOD!!!
We are more forgiving of people who aren't more chronically evil, life just is that way, get over it.
Nobody and nothing is perfect, this does NOT mean that everything imperfect, is equivalent.
Do you divorce your wife for making occasional mistakes? No, only if she is habitually and frequently bad. Are you more forgiving of a son who just occasionally screws up lightly, as opposed to one who does drugs and steals from you and ends up in jail regularly? Of course. Is every political leader who has lied at least once, just as bad as Hitler? Is somebody who beats his wife every day equally bad to somebody who once slapped his wife over 50 years of marriage?
Please, stop with this pretending that all things are equivalent. There is NO double-standard here.
No, it is that one. The point, which seems to have eluded you, is that while it's great people are fixing DTrace Apple has also broken applications used by far more people and no fix is available for those (nor can it be).
Leopard's DTrace isn't broken. Apple put in an API for a program to request that debugging & dtrace be disabled for it. Clearly it's there to keep FairPlay from being broken (too easily). Something that commercial developers could understandably want for their software, to prevent keygen hacks, etc.
The link I provide shows a simple way to get around it. Hell, debugging iTunes is directly encouraged in an Apple Technote (linked in the article).
As listed in the article I linked to, you can get around it by trapping the API call in gdb and disabling it. Why are you standing up for Apple in this? By your own admission, DTrace is broken (oh yes, you can get around it, Bah!) Why in the world should you have to do any of that!
DTrace is a system level tool that should work properly on any and every process and thread in the system without smoke and mirrors.
Leopard's DTrace is broken. It does not do what it should.
There's no hating or drama about it. I don't care why they did it, and you're probably right that DRM is the reason. That doesn't mean it's not fubar'd.
Perhaps the choice to not go with BIOS is because it is ancient technology. For instance, the new MacBook Air can network boot off a CD/DVD disc mounted on another computer...wirelessly (I believe). I'm sure this would be an insurmountable task in BIOS.
EFI was supposed to be supported in Vista, but support for it was not included. I read it should be supported for 64-bit systems in SP1, however.
I get the point now. You are making a logical leap that since the community can "fix" something that the sources are freely available for, then they should be responsible for "fixing" everything that Apple may cripple in some way even though all of the sources to things you want fixed are proprietary. Whether or not that is even remotely possible (which you, in fact, state in your reply that it is not), you were able to vent semi-topical frustration with Apple's breaking popular applications. Even got modded "informative" for it somehow. Good for you. When you have the sources for Quicktime, let the community know and someone may fix it for you.
Also, the point that Apple essentially crippled something that was futile to cripple (remember the sources?) may have eluded you.
US Democracy:The best person for the job (among These pre-selected choices...)
And what does UNIX actually mean?
In terms of a "modern" UNIX, a Linux distribution is more "UNIX" than OSX. The filesystem layout is more standard UNIX, the graphical environment is more UNIX, etc etc etc without using add-ons like a non-native X server running on top of Aqua, and the list goes on..
MacOS is a decent system in of itself, but to say it's more UNIX than a Linux distribution is laughable. I mean, c'mon. Get over it. Next you'll say MacOS washes a car better than a sponge..
- It's not the Macs I hate. It's Digg users. -
Apple is Las Vegas, Microsoft is Atlantic City. In both cities you wake up with a hangover and an empty wallet most of the time, but Las Vegas is a lot prettier so you feel better about it.
Well sort of, but it is also licensed to only run on Apple hardware, so unless you're planning on breaking the license you don't have a problem. DRM on media attempts to apply licensing to content, which is a slightly different matter. As a Linux supporter I object to users modifying Linux and redistributing it without the source as that violates the license. I don't see why Apple should not only object but take measures to prevent people from violating their license. (Especially given that they are in a bad place economically as their crown jewels is a desktop OS and the desktop OS market is monopolized, which means if they can't bundle their OS with a complete system, there is no long-term way to stay in business unless the courts act effectively against MS... and we all know our court system is way too corrupt for that.)
Look I admit it would be nice if Apple unbundled their OS and hardware, but I'm also smart enough to know that would quickly lead to Apple having to stop developing their OS altogether. I'm also smart enough to see how much collateral damage that would do to open standards and Linux as it would change the market from, 8% OS X and 1% Linux and 80% Windows to 98% Windows in a hurry. MS doesn't need more power to break the market and that is exactly what we'd have if Apple dropped their hardware and OS bundling as a license requirement.
Sure I read the post, I just don't agree with the conclusions.
DTrace works on processes it's supposed to, and doesn't work on those it's not. I'm happy to agree the implementation of the latter is buggy, but I don't think it's the end of the world or a conspiracy theory. Maybe later the providers can be adapted to more intelligently deal with these closed-off processes to give more consistent results.
Apple decided to put in some measures to keep some software locked-down. The correctness of doing so isn't a technical issue, that's a philosophical one.
DTrace is a wonderful tool: one that's saved me *months* off my PhD work, and I love it. And you have my deepest respect for it. But, I don't take dtrace as a philosophy -- I gave up on software religion a long time ago. Everyone's got their own requirements (e.g. locking down iTunes to keep FairPlay from being cracked -- to keep record producers from leaving iTunes) and they've gotta get them done however they can. Call it mercenary ethics if you want, but we don't all work at Sun with CEOs who get it.
Care about electronic freedom? Consider donating to the EFF!
That's the optimistic view.... the cynical prediction is that they will give up and remove dTrace support from the release builds of the OS.
I don't care if it's 90,000 hectares. That lake was not my doing.
I don't necessarily believe that Aqua is better than X. X can do some mighty cool stuff, and if you haven't been following X development in recent times, it's improved quite a bit. The next major version of X.org will introduce a lot of new features and correct some long standing X shortcomings.
Chuckle all you want; as far as performance, X is capable of running OpenGL every bit as fast as Aqua or Windows. When you run X as the primary back end for your graphical environment, it's quite a different experience over running it on top of another GUI system. When I run Linux, I don't see any performance or usability issues that could be contributed to X itself.
Ohh, and X is open source, the specification is freely available to any system (which is WHY you can run it on MacOS and Windows) and that actually is a factor to be considered. There's something about free software that makes sense.
Anyways, the point wasn't that X was better than Aero though, the point was that X is a common part of Unix and it's not a part of MacOS. You can add it on top of Aqua, but it's not native. Darwin isn't MacOS, although the back-end is the same. One could argue that what one considers "MacOS" is in fact what runs on top of Darwin, not Darwin itself. Of course, it's the whole system that makes up MacOS. Still, the argument is valid.
Wait.. what were we talking about?
- It's not the Macs I hate. It's Digg users. -
You've (like many) completely misunderstood the point of Apple's code signing efforts. It's not to stop unauthorized code from running--Apple is not Microsoft, no matter how you cut it; they don't even have activation, nor any protections on their software besides serial numbers. The real point of code signing is so that when you have a piece of software that claims to be from Company X, you can be sure it's actually from Company X. It's a tool to reduce malware pretending to be legitimate software, not a means for Apple to lock down your computer.
In the beginning the universe was created. This made a lot of people very angry and is widely considered as a bad move.
EULA: "Sharing is stealing".
BSD licence: "Sharing is not stealing".
GPL2 = "Not sharing is stealing".
GPL3 = "Not sharing is definitely stealing, but just simply sharing is not necessarily not stealing either".
The BSD licence interpreted literally can permit distribution of binaries without Source Code. The BSD people work their backsides off to ensure that nobody does this. The GNU people decided to write their own licence explicitly forbidding it. There is no other word for this except laziness. On the other hand, taking somebody else's code to use in your Caged software project, as opposed to writing it yourself from scratch, is also laziness; so those who bitch about it are like the pot calling the kettle black.
Je fume. Tu fumes. Nous fûmes!
Simply because a fanboi doesn't see the need for full dtrace functionality doesn't mean it's a Good Thing to disable it.
Doing so is simply the first step on the slippery slope to disabling it for other things.
If you want to pay someone for the privilege of computing on a system that's essentially a black box, more power to you.
Other people don't.
Chas - The one, the only.
THANK GOD!!!
Except that if you want system-wide statistics on CPU or I/O usage you'll get inaccurate / invalid results because some processes aren't accounted for. If too many developers block probing of their app then DTrace becomes useless.
It should also be mentioned that putting DTrace probes into an application has to be done explicitly. So while timer, system, and library calls made by iTunes can be traced, what it does internally can be opague just by not adding probes.
Sun recently helped put probes into Ruby and Postgres, so you can see things like triggers firing via DTrace when you (say) do an INSERT, but MySQL doesn't have internal probes (yet), so you can't tell what it's internally besides the calls to external symbols that have been probed.
Giving access to system-level measurement doesn't necessarily mean that Apple has to give internal probing to the app. I would say that GDB (and other debuggers) would be a much higher "threat" to breaking DRM since you can look at the instructions being run, whereas as DTrace is mostly an instrumentation tool.
I am an IT professional, and the common wisdom is to not install updates
the day, week, or even month that they are released, unless it fixes
a problem that you are experiencing. The quicktime 7.4 update has little
to offer to someone in a production environment.
Over the years, this has been proved time and time again.
I have a graphics studio that is still on 10.4.6, and they are
very happy with it. The studio manager won't let me do mass updates
unless we try it on one machine first, and feel comfortable that it doesn't
introduce any new problems. I can't imagine that a content producer
using after effects would need to rent movies from Apple. Thanks to the
early updaters for throwing themselves under the bus though.
music lover since 1969