Silly Kernel Panic in Mac OS X 10.2.2
shibby tells us that it is easy to cause a kernel panic in Mac OS X 10.2.2, by attempting to move a directory into the same location as another one of the same name, using Terminal: mkdir ~/mydir; cd ~/mydir; mkdir mydir; mv mydir ... Kernel panic is instant. Save all your documents and quit your open apps if you feel the need to see it for yourself. Happy Thanksgiving!
Please tell me that shibbey or pudge...or someone... actually submitted this bug to Apple before posting it here.
It'll be interesting, though, to see how long we wait for a fix. If this is a legit thing. I haven't tested it and don't plan to.
You like your Macintosh better than me, don't you Dave? Dave? Can you hear me Dave?
Not only does it cause a kernal panic, but it slaps the user on the head and asks them, "Why the heck did you create a directory with the same name as the current directory????"
:-)
Those crazy kernal programmers
Found the offending piece of code in Darwin ...
...
BOOL HFSPLUS_Directory_Move( const char *src, const char *dest ) {
if ( !strcmp( src, dest ) ) {
__kernelPanic( KP_IMMEDIATE );
}
}
codegolf.com - smaller *is* better.
Then there was Colonel Panic, who wouldn't work if you added two folders with the same name to the same in box on his desk.
What's next? Private Keychain will forget where he stored my passwords and x.509 certificates?
Oh wait... you were talking about kernels...
Sorry!
-wjc.
"I figure you're here 'cause you need some whacko who's willing to stick his finger in the fan. So who are we helping?
Be very careful with this - If you are testing, or accidentally gonna do this, you will lose both directories and all data in them.
codegolf.com - smaller *is* better.
Try explaining to mom why she can't have two directories named letters without crashing the machine
The GUI (gracefully) prevents you from doing this, so if Mom can understand the sequence of terminal commands that triggers the panic, she'll have no trouble understanding why...
Here's the message (login: archives, pass: archives)
This list is teeming with Apple folks, so I'm sure someone's posted a RADAR bug already.
This problem also came up on MacNN and is discussed in detail here
Now here's the kicker - as the kernel is open-source (APSL - don't complain), someone's already traced the problem back to a recursive lock in the HFS+ subsystem (hfs_vnops.c). Kewl or wha'?
Alison
"It is a miracle that curiosity survives formal education." - Albert Einstein
.. have a thread going on this, too. Link here
Alison
"It is a miracle that curiosity survives formal education." - Albert Einstein
Funny you mention video editing. Even on the low end, your $1,200 PC is never going to run iMovie.
t icle2.h tml
;)
On the high end, your cost comparison is a joke, because the cost of the computer is the least of your expenses. A high end PC based (with Avid or the like) system is going to set you back $100,000 or more.
The cost for a similarly featured Apple video editing system with Final Cut Pro? Less than $10,000.
Read it and weep:
http://www.filmandvideo.com/New%20Pages/ar
Worried about this kernel panic ruining your video editing? Don't. You are not likely to be in your Terminal making two directories of the same name and moving them about in the course of your video editing. Even if you were, this is happening in the Unix part of OS X, which is open source, and it is being announced on Slashdot. Someone will probably fix it for fun over the weekend and email Apple a patch by Monday. We'll probably see an official, tested, security update from Apple next week. That is the beauty of open source.
If this were Microsoft and a "blue screen of death", well, don't hold your breath. Their response would be the same as seven years ago: "There are no significant bugs in Windows XP. Trust us.". Yeah, right! That's what PC Magazine said about Windows 95, when I spent 11 months trying to get a stable install of the original version.
Windows: "Go talk to my friend, an 800 pound monopoly-abusing gorilla!"
Mac: "And here's my good buddy, the 66,000 ton Godzilla!"
Godzilla: Stomp!
Can this be exploited by a rouge shell script?
i don't think so, but a big blue one could do the job.
Everything should be made as simple as possible, but not simpler. -- A.E.
krel wrote:
;)
> os9 would never, despite its shabby memory
> protection, and pathetic preemptive multitasking,
> do that.
Nope, because OS 9 wasn't Unix, and so didn't use Unix terminology for operating system failures. OS 9 bombed, OS X panics (very rarely). BTW, any kernel hacker can, if they choose, get the source code and fix this bug. OS 9 couldn't do that either.
I'm glad, though, that I switched early enought that I got a chance to know OS 9. It really was amazing, despite it being basically a microcomputer OS, all the things Apple got it to do.
OS 9 is the blue-eyed caterpillar, small and awkward, but courageous and friendly.
OS X is the blue-eyed adult Moth, awesomely beautiful, supremely powerful. She soars above all, the peerless Queen of Monsters.
And Apple is, as always, Mothra Leo's Forever Friend.
Isn't "mydir" a Microsoft innovation? Could explain why it crashes ;p
Sure enough using /bin/mv it crashed as advertised.
/sw/bin/mv, which is the GNU version of mv from the fileutils package, just gives a "cannot overwrite directory" error.
But
This is (one of the many reasons) why the GNU versions of everything should be standard on all systems in the universe. So go fetch and install a copy of fink and (optionally) FinkCommander.
Also, "alias mv mv -i" is a Very Good Idea(tm).
"The cost of freedom is eternal vigilance." -Thomas Jefferson
You should see the death screen. Very slick. I'd post a screen grab, but well you know. :)
I know I'm going to hell, I'm just trying to get good seats.
Well, Avie Tevinian probably doesn't agree with your "OS people up at Carnegie Mellon", and he's running the show over at Apple. He also wrote some pertinent versions of Mach, up at Carnegie Mellon.
When it comes to questions like this, if you can get the best people, using their prefered tools is often a good idea. If Apple could have hired all the architects of the freebsd Kernel, then sure, maybe you'd be right.
Also, I don't know what the hell you mean that you've "heard nothing but bad things about" Mach. It's a well known and well inspected peice of code. It might have problems, but saying "bad things" doesn't mean anything. What are the problems? Message passing is slow? This is true. Whatever. It's an architectural choice. Some of those architectural choices are exactly what makes Mach good for Apple - Multiple OS hosting.
There are no trails. There are no trees out here.
What's missing that you want HFS+ to go away or something?
It's got metadata, which Microsoft only *added* with NTFS
It finally got journaling with 10.2.2
It spans, quite comfortably, 180GB hard drives
File sizes can be larger than 2gb, and I believe up to 2TB (2^63 bytes per file)
Is there something missing? Perhaps encryption? Apple already has support for encrypted volumes...
GPL Deconstructed
"DAMN, sticking that fork in my eye really hurt!"
"Oooh, I WANT TO TRY!"
-braxton