ITunes 8 a Real Killer App; Taking Down Vista 735
CWmike writes "Apple 's latest version of iTunes crashes Windows Vista when an iPod or iPhone is connected to the PC, scores of users have reported on Apple's support forum. Plug in and Vista crashes and shows the 'blue screen of death.' The errors began showing up immediately after updating iTunes to Version 8.0, which Apple released Tuesday as part of its iPod refresh. 'I just installed iTunes 8 over my iTunes 7 on Vista [and] now whenever I plug in my iPod, I get a blue screen death. Three times so far. Even if it is plugged in on boot, I get a blue screen," said a user identified as 'sambeckett' on the support forum about 90 minutes after Apple CEO Steve Jobs wrapped up the iPod launch."
Try listening to your rap now, smart guy! (Score:3, Informative)
Kernel mode driver (Score:5, Informative)
AFAIK the only thing that can cause a BSOD is code running in the kernel space, ring 0.
Quite why iTunes affects stuff that runs in kernel space is another matter... but I suspect it's probably to do with the Protected Media Path stuff. DRM, in other words. I can't think of anything in iTunes that should be running in kernel space - in Vista, all drivers apart from a component of the graphics driver are supposed to run in userspace.
Re:Good Marketing (Score:5, Informative)
And yet, the update demonstrably does not crash XP...
Re:Good Marketing (Score:4, Informative)
Drivers like the one for the iPod?
My advice (Score:5, Informative)
This happened to me... I read the Apple thread, and followed simple instructions... unplugged my HP printer, and it stopped the BSOD's when I plugged in my iPhone. Most people are saying the problem is with the Apple USB drivers screwing with the drivers for HP printers and Logitech mice/keyboards. There may be other devices that cause the problem as well, but those two are the biggies.
So until iTunes 8.1 is released, I can either charge my phone or print... but not both at the same time!
Re:Good Marketing (Score:5, Informative)
Except the application installs drivers.
And it's not necessarily a bug in the OS if drivers are causing it, unless you run all drivers in the userland like QNX does.
Re:Sigh. (Score:5, Informative)
iTunes installs its own CD drivers to manage ripping and burning, as well as always-on "helper" and updater processes, in addition to drivers for the iPod/iPhone.
Asinine, but then again Apple doesn't follow Windows UI guidelines either.
Re:Good Marketing (Score:2, Informative)
You'll be glad to know that it doesn't. An iPod is just a standard USB hard drive. All communications between iTunes and the iPod use standard file operations.
Mac OS X is UNIX. Apple understands the "everything is a file" concept.
The only "special" thing Apple installs is a service that checks if newly connected USB hard drives are iPods.
This is 100% Vista's fault.
Re:Good Marketing (Score:5, Informative)
It is Apple's fault. If you read the forum you'll note that they already tracked down the offending driver in the minidump. It is Apple's USB driver for the iPod: usbaapl64.sys.
Re:Kernel mode driver (Score:5, Informative)
Yes, they do (it's one of the things I particularly dislike about iTunes), but just running as SYSTEM doesn't mean it runs in kernel space - in the same way as running as root doesn't make it part of the kernel on Linux.
Re:But still... (Score:5, Informative)
That's a nice philosophy, but anybody who's actually written a kernel-level driver will tell you that's impossible. Kernel-mode drivers require direct access to your computer's memory and bus, and anything with that level of access can cuse your kernel to panic, period.
You can make non-kernel-mode drivers that are much safer, of course, but at the expense of performance and capability.
Re:The new "better" driver model sucks. (Score:4, Informative)
I can tell you that it DOES exist. My Creative Nomad Vision M would simply plug into any up-to-date Windows XP machine, and it would show up as a media device. I didn't need to install the software to see the files on it.
Besides true chodes like Sony and Samsung, both of whom had gay software and stupid drivers last time I owned one, every mp3 player on the planet other than the iPod shows up in My Computer as either a drive or a media device.
The reason, as far as I can tell, is that Apple wants to force you to use iTunes to change anything on your iPod. Kodak does a similar thing with their EasyShare cameras, which is the only real negative of those cameras. Thankfully, unlike an iPod, in a camera you can just pull out the memory card and stick it in your PC.
Re:Sigh. (Score:5, Informative)
(I'm the original author of PyTunes, the base for Pymusique -- I know a bit about Fairplay)
Re:Good Marketing (Score:4, Informative)
The drivers are USB protocol drivers -- they run in user space. iTunes doesn't (shouldn't) load any kernel-space drivers. It is correct to say that, under the circumstances, it should be impossible for iTunes to crash the OS. iTunes should crash, but Vista shouldn't.
Re:Shucks... (Score:1, Informative)
Not surprising (Score:5, Informative)
Itunes in past has:
- deleted your legit music
- Unstalled othe mac applications without asking you
- Hijacked volume control from windows
- Modified code specifically to make it hard to work with the ipod outside of itunes
- Is the largest pusher of DRM technology
Really a BSOD isn't that big of a deal. And incase you are curious NO it isn't windows fault. Why is a music player installing drivers overtop of standard drivers that work perfectly? Aside from their hatred of doing things the same even when they are better only jobs knows. If windows tried to pull even half the bullship Apple has they would have been sued into dust. I find it disgusting its ok since its mac.
Re:The new "better" driver model sucks. (Score:5, Informative)
Vista and XP do have standard handlers for USB devices but Apple does not support this. That is why you can't plugin your iPod and iPhone and except your computer to be able to mess with it, that is why it requires special software adding protocols to your networking stack like bonjour and rDNS services. Of course if you configure so, the devices can be used as standard usb mass storage devices but you'll never get access to your music that way.
This is the principle reason why the iPod sucks, it is everything that Apple stands for which is propietary technology which really requires Apple hardware to work with. I can hook up hundreds of other USB based MP3 players out there without added software but the iPod requires specific software to interface with and don't think about going cross platform, many an ipod has been wiped by going from Mac to PC and visa versa.
You're right, iTunes should not require administrative privileges to install but all that DRM means Apple has to dig deep.
Vista doesn't handle driver issues very well but the majority of this particular issue is definitely in Apple's court especially given all the issues with iTunes 8 on both sides of the isle. At least they are mostly getting OS X right now with a lot of the silly defaults getting changed. Samba support was atrocious for the longest time when the Linux camp had it down.
Re:Kernel mode driver (Score:4, Informative)
They do, however, have a specialized USB driver for iPods below that level.
Re:Kernel mode driver (Score:4, Informative)
in Vista, all drivers apart from a component of the graphics driver are supposed to run in userspace.
Bullshit.
A couple of driver types got major changes (most notablly display drivers which got the DX10 related stuff and printer drivers which were pushed into user mode) but by and large the driver model didn't really change significantly from XP to vista (despite this MS for some reason didn't allow XP drivers to install on vista, in most cases this can be worked arround by editing the inf file).
MS did introduce a framework for allowing some types of drivers to be developed in user mode but there are many that have to be done in kernel mode (anything that has kernel mode clients, anything that uses a memory mapped bus, anything that handles interrups) and many more that are still kernel mode because that makes the driver portable to more windows versions.
Re:Kernel mode driver (Score:1, Informative)
Not quite. It has to do with the proprietary USB driver that Apple uses to communicate with the iPod/iPhone. Running iTunes 8.0 by itself is fine, the system crashes when you try to connect the device to the computer, which attempts to load the driver, which fails in kernel space and takes the OS with it.
The fault of this problem lies squarely on Apple.
Re:But still... (Score:5, Informative)
You can make non-kernel-mode drivers that are much safer, of course, but at the expense of performance and capability.
That depends entirely on what the device is doing - USB drivers live in userspace (only the generic read/write support for USB devices live in kernel space) and it works fine and support everything AFAIK, but running a modern GPU from userspace I wouldn't try. The iPod is definately in the former category.
IT seems to only involve people with an (Score:5, Informative)
HP Printer.
Drivers on windows can be troublesome. It would suprise me if usbaapl64.sys has some issue previously undiscovered.
This is fallout of shared component design MS uses.
Should Apple have tested with HP printers? Probably, but no one can test every configuration of a PC.
The USB set up MS is using is causing a fault in Ring 0. That's the only way I can see this causing a BSoD
Re:But still... (Score:0, Informative)
That's far more about the design of minix than the general principle.
Have a look at the L4 microkernel:
http://en.wikipedia.org/wiki/L4_microkernel_family [wikipedia.org]
Qualcomm uses L4 in their mobile phones. If you want a platform with little to no headroom for performance overheads, look no further.
Re:Good Marketing (Score:3, Informative)
Apparently, you haven't tried mounting a recent iPod in a generic Linux machine.
Hint: it won't work
Re:My computer won't boot with an iPod connected (Score:3, Informative)
Your PC has serious hardware issues. The iPod is just a removeable disk.
Not quite (Score:3, Informative)
Most computers have 2-4 USB plugs on the motherboard. Each one is split into two ports(more?) you can plug devices into.
Be sure your printer is on a different USB plug.
This is a power struggle between HP and Apple..I mean electrical power between the devices, not corporate power.
Re:Good Marketing (Score:5, Informative)
I just installed iTunes 8 and happened to peak at the offending driver's import/exports.
Its written uses the kernel mode driver framework and not the user-mode framework.
BTW, User mode driver framework is available on XP too.
Re:Good Marketing (Score:5, Informative)
There *is* support for user-mode USB drivers via UMDF (User-mode driver framework) [microsoft.com]. But, the driver has to be implemented differently for that to work.
Apple USB driver (Usbaapl.sys) is a traditional kernel-mode driver.
Any unhandled exception (or, perhaps, kernel memory corruption) in the driver will cause a blue screen.
And there is, in fact, a redistributable version of UMDF for Windows XP (SP2 and later).
Re:The new "better" driver model sucks. (Score:3, Informative)
Re:But still... (Score:5, Informative)
"Doesn't need" is not the same as "doesn't use." IIRC, if you want to port a kernel mode driver to the user mode driver framework in Windows, the path of least resistance is to rewrite it from plain old function oriented C to C++ with COM. So it's possible that it's got direct access because that's the old default and they'd have to rewrite it.
If that's the case, Microsoft deserves a pat on the back for providing a framework for user mode drivers and a kick in the pants for making the framework totally incompatible. In any case older versions of windows don't support user mode drivers and not all Windows XP installations have the user mode framework.
At this point, we don't know where the BSOD coming from yet. Obviously Apple's driver initiates it, but it doesn't mean that's what's crashing. This could be one of those cases where such and so feature is supported correctly in some hardware and not others, so the spec might say doing certain things are kosher and they test fine on the hardware you've got, then you find out that there's a lot of people with systems with broken system hardware or drivers.
Re:But still... (Score:4, Informative)
That's entirely possible for some devices in Windows - the Windows Driver Foundation lets some drivers run in userland. In fact, "all" printer drivers run that way on Vista - the WDF runs as a service and acts as a broker of sorts between userspace and kernelspace.
For other devices, it's just not possible. Try writing a user-mode graphics driver and get back to me.
Re:But still... (Score:3, Informative)
Oh god, have you ever used Minix? The microkernel/message passing approach makes everything horribly slow, and makes the code harder to follow because you can't actually trace calls. And if you crash any of the server processes (especially FS or PM) the whole system crashes anyway - we haven't actually gotten anything from the "trade-off".
The whole OS is an utter abortion in a bunch of other ways as well. Minix 3 has no support for paging - you have to set the VM size of a process as a file attribute! The default installation of vim gives you an out-of-memory error when you run 'vim ~/.vimrc'! Networking is pathetically slow no matter what you do, and the design seems to be generally brain-dead.
Re:But still... (Score:2, Informative)
DMA?
Re:But (Score:5, Informative)
http://sbooth.org/Play/ [sbooth.org]
Basically, it has the core functionality of iTunes, it's free as in beer, and isn't bloated.
Rockbox (Score:2, Informative)
Problem solved.
Re:But (Score:4, Informative)
Hehe shitstorm.
I don't own an iPod, but I have family members that do and I immediately remove iTunes, install WinAMP, and done.
WinAMP can manage an iPod okay, and it doesn't screw with my media library.
On top of all of the crappiness of iTunes, my biggest problem with it is that if you plan on using iTunes, you *have* to manage your media with it. There's no "rescan library" function. If you do it manually, you get two of everything in your list. It sucks and shows much arrogance on Apple's part.
Fix already available (Score:5, Informative)
Please see this apple knowledge base page: http://support.apple.com/kb/TS2280 [apple.com]
Re:Apple is actively troubling other programs. (Score:5, Informative)
I see plenty of articles about people wanting to run arbitrary software on iPhones (and the iPod Touch handheld) but don't see much about people having problems putting music on or taking music off of iPods using programs other than iTunes, which is what the person I was replying to brought up... along with some sort of "encryption" used on the USB connection.
I provided a nice list of ten programs other than iTunes that read and write music to the iPod. I think that pretty thoroughly debunks said point.
I just went over that list of 10 programs through some (admittedly not thorough) googling, and checked them for compatibility with iPhone/iPod Touch, which are the models that cause the issue due to the encryption/hashing used.
So perhaps your nice list of programs is less useful than you thought, and does not debunk the point.
As far as I know, there is no program other than iTunes that will let you put music on an iPod Touch/iPhone (with v2 firmware) without hacking the device's OS. iirc, hacking the OS voids the warranty, so obviously most people don't want to do this.
Re:Good Marketing (Score:3, Informative)
FWIW, once I got it installed with SP1 I have had zero problems with it.
Re:But still... (Score:3, Informative)
A driver should not cause the OS to crash. Your printer should be able to load its driver in a manner such that if it catches fire the kernel stays alive and can tell you so.
Generic I/O level USB devices can, especially not in usermode. USB devices can be primary kernel level I/O devices (booting from USB anyone? anyone?) Let alone USB can even disrupt the mainboard itself of how the USB/PCI controllers are implemented. This is beyond the OS even.
Cross the wires on your USB devices and plug them in and out of your laptop, tell us how that 'shouldn't' crash it while it catches the mainboard on fire, ok?
In all seriousness if Apple wrote the drivers properly and KEPT THEM IN USERLAND, then it also wouldn't be able to crash Vista.
Is Apple not bright enough to do this?
Maybe, but the truth is their drivers AVOID usermode because they want to ensure their DRM pipeline is protected.
So..
Apple + DRM + Stupidity = bad device software
Apple are not only sleezy, but bad at software, and yet fools RUN here with their fanboi badges to defend them. WTF is wrong with people?
Re:Somebody please correct me (Score:3, Informative)
iTunes installs system level drivers. System level drivers by definition have the ability to crash the OS. And the reason for the system level drivers, the ultimate evil, it is DRM. You can't allow the user to easily get between the music files and the playback or burning, and you can do that only with system level drivers directly coupled with the user space software.
I think there is a Microsoft framwork for that too, but apparently iTunes doesn't use it, but instead wants to use it's own drivers for whatever reason.
Re:Good Marketing (Score:3, Informative)
One example of a helpful bluescreening is if you short a USB socket. At first it'll turn off the socket for a short time if it detects a short, then if it keeps happening, windows will bluescreen. That's far preferable to a fried motherboard. The OS should come to a halt on these things
Re:But still... (Score:3, Informative)
Most Unices == Old Linux versions, in this case. And the mainframe printer explanation sounds completely made up.
But I bet your version will become the official one now.
Re:But (Score:3, Informative)
I think you have it backwards, people who use iTunes 7, like myself, obviously do not think that it sucks. It's the people who are unfamiliar with iTunes that, for right or wrong, will blame Apple. Generally speaking of course.
And people who use iTunes like myself, realize what a horrible piece of shit it is. I dare say it is an even bigger pile of excrement than RealPlayer was. iTunes is by far the worst part about owning an iPhone, because I have no choice but to use it. Had I known about the evil that is iTunes on Windows, not to mention all of the many many firmware problems my iPhone has had, I never would have bought one in the first place.
By the way, I actually like OS X for the most part, but I can guarantee I will never buy another Apple product unless they do a total 180 on the quality of their support for non OS X users.