Data Loss Bug In OS X 10.5 Leopard 603
An anonymous reader writes "Leopard's Finder has a glaring bug in its directory-moving code, leading to horrendous data loss if a destination volume disappears while a move operation is in progress. This author first came across it when Samba crashed while he was moving a directory from his desktop over to a Samba mount on his FreeBSD server."
That's silly. (Score:5, Funny)
Normally while moving you ensure the copy completed before deleting the original. Apple must be using some discount programmers.
Ah, the "outsourcing" coding model.. (Score:5, Funny)
Write OS-X compatible application to Move a file between two filesystem devices..
Time Allotted:: 6 hours. Reward: $10.00..
Re:Ah, the "outsourcing" coding model.. (Score:5, Funny)
Re: (Score:3, Funny)
alias iMove mv
Re: (Score:3, Funny)
Re: (Score:3, Interesting)
That's just one of several ways to burn a disc in Mac OS X. You can also:
1. Click on the disc on the desktop and then go to the File menu and select "Burn Disc", or...
2. Double click on the disk, review its contents in a Finder window, and click the "Burn" button, or...
3. Right-click (or command click with a pesky one button mouse) on the disc and select "eject disc". If you have copied any files to the blank disk, it will ask if you want to
Re: (Score:3, Funny)
Re:Ah, the "outsourcing" coding model.. (Score:5, Informative)
The syntax for "||" is:
If command 1 fails, do command 2 - otherwise exit (where you used "command1 || command2").
In this case, your command will either copy all the files from $from to $to or delete all files at $from.
What you probably meant is cp $from $to && rm -r $from, which only performs the second command if the first succeeded. This solution is far from perfect for reasons mentioned by other posters, but it's still significantly safer and more useful than yours...
Re:Ah, the "outsourcing" coding model.. (Score:5, Funny)
Re: (Score:3, Insightful)
Not exactly. The Leopard finder is doing something like: like in "remove $from regardless if the copy was successful or not".
Re: (Score:3, Informative)
cp -aRp "$from" "$to" && rm -r "$from"
Re: (Score:3, Funny)
If you're lucky, it will take forever and then delete all your data.
Re:That's silly. (Score:5, Funny)
Of course not! Don't be a troll.
Everyone knows that Apple's products Just Work, and that's no different in this case. The files were moved just like you asked, and if you can't find them. well, that's not Apple's fault, is it? You don't blame the contractor who built you home when you lose your keys, do you?
In any case, you should be using Shadow Copy...er...Time Machine which would have protected you from going and losing track of your own files.
Temporal problem (Score:5, Funny)
Great! So now not only don't we know where our data is but when it is. Perhaps in a week or two's time the data will materialize in the folder it was supposed to be moved to with an accompanying "whorping" sound coming from the speakers?
Re: (Score:3, Funny)
Re:That's silly. (Score:5, Informative)
Re:That's silly. (Score:5, Informative)
Re: (Score:3, Informative)
Re:That's silly. (Score:5, Funny)
Why doesn't Apple just copy the way Ubuntu does it and get with the 2000's?
Pride is what it is. That damned pride!
Re: (Score:3, Interesting)
Re: (Score:3, Informative)
You have to be using 2.6.0 on both ends too.
Re:That's silly. (Score:5, Funny)
Re:That's silly. (Score:5, Informative)
Re:That's silly. (Score:5, Insightful)
Reeducate the user, you say. Surely you must be joking, right?
Let's ignore for a moment that Leopard may have a few bugs that will have to be ironed out. That's only to be expected with *_any_* newly released OS and the reason why no sane person would ever dare to update the OS on a mission critical machine within the first few months of the release.
However, if you can't rely on your OS to perform a simple file move without risking data corruption, then the right solution is definitely not to verify every single operation by hand. Automating tedious tasks is exactly what computers do best, and that the OS ensures the integrity of the copy before throwing away the original is definitely something you should expect.
Re: (Score:3, Insightful)
On the contrary, that is exactly the thing to do. When you are working in mission critical environments and are charged with the safety of important data, it behooves you to do things the "slow way" sometimes for the simple reason that you have a safety net. In case of a disaster, it's much easier to restart a file copy th
That's silly? You're silly. (Score:3, Insightful)
Re: (Score:3, Informative)
Re:That's silly. (Score:5, Informative)
Typically if you are moving within the same logical device the file pointer is moved and no copying need take place.
When moving to another device your code reads and writes, within a loop and traps exceptions (such as the device suddenly vanished, where the OS should raise an exception and your application traps it.) A wide variety of errors could occur while moving and in the event any of them happen the user should be notified in an appropriate manner and the original data not deleted.
I've written a number of applications which moved files or data between databases and it's fundamental your application is on the watch for any problems. Not to have an exception raised or to trap any and all, well, that's simply an inexcusable lapse.
This sort of thing is extremely critical if you happend to be defragmenting a disk drive. Long before Macs and PCs we had to defrag our mainframe drives and the applications which did the work were quite careful. Often the best practice, if you had the resource of a second drive, was to simply defrag to a new drive then re-assign the new dist as the original.
Re: (Score:3, Funny)
Oh, wait...
I jokingly told him to sudo rm -r -f /
he tried it...
I'll have to tell him to do the softlinks / delete the hardlinks as a way to um... shadow his files
-nB
Re:That's silly. (Score:5, Informative)
- A dialog appears with the title Moving... and it says it's calculating how much time it'll take. This took a while itself.
- Then the dialog says it's moving the files and the progress meter shows the progress
- After the progress meter fills up, it goes to empty again and then says it's deleting the files it moved
I did this with most of the folders until I reached one that had about 18GB of data in it. I performed the same procedure as above to start the move and after it was copying files for about a minute or two I realized that I was moving them to the wrong location (my desktop instead of a directory on my C drive). At work our desktops are retargeted to a file server and not our local hard drives. I knew that by copying to the desktop I would hit my quota limit on the server whereas if I had copied to the C drive like I did with the other folders I had no limit aside from the free hard drive space. Not copying there in the first place was just a mistake. I clicked cancel to stop the transfer. When I did that, the dialog that had the progress bar changed to the empty progress bar and said it was now deleting. By the time I realized what was going on, it had deleted that folder and all of its content from the FTP site.Now this could have been some weird bug or interaction between the fact that I was using a machine with SP1 instead of SP2, that my desktop and profile were retargeted to another machine, or that I was moving so much data. It wasn't a lot of files as these were data files for desktop publish programs for some brochures and catalogs, along with large print-ready images. I don't know what items worked together to cause the problem. I do know that it did happen and that I had to deal with the IT group at our other site (that had the Solaris server), open the helpdesk ticket to get them to restore the files from backup, wait for them to get around to it, etc. It was a huge pain and delayed what I was working on, causing grief for myself and my internal customer. One thing's for sure; I'll never use the built-in Windows FTP client again.
Tiger has this problem as well!!! (Score:5, Informative)
Re:Tiger has this problem as well!!! (Score:5, Interesting)
Re:Tiger has this problem as well!!! (Score:5, Interesting)
File The Bug!! (Score:4, Informative)
Re:Or [possibly], go fix it. (Score:5, Insightful)
Re:Or [possibly], go fix it. (Score:5, Informative)
Re:Tiger has this problem as well!!! (Score:5, Funny)
Re: (Score:3)
Re: (Score:3, Funny)
Re:Tiger has this problem as well!!! (Score:5, Insightful)
And I wouldn't exactly call this regression testing, as such functions as file movement aren't usually impacted by later changes. It should be pretty basic on the design chart. Sounds to me more like "working as intended...use move at your own risk". Which I think it stupid, but I don't see how this really was *missed*, especially since some are claiming it's been this way since at least Tiger.
Re:Tiger has this problem as well!!! (Score:5, Interesting)
So your irreplaceable videos were made the previous year and you had no backup.
I suppose the PC makers should like you. You'll shoot up a PC and have to buy a new one every couple years. And each maker will get a piece of the action, since you'll blame the previous maker for routine data loss.
Or you could just do what everyone in the computer business has been telling you to do for at least 30 years and... make a backup.
A great disturbance in the Apple (Score:3, Funny)
Re:A great disturbance in the Apple (Score:5, Funny)
Re: (Score:3, Funny)
Re:A great disturbance in the Apple (Score:5, Funny)
"Vistard"
Re: (Score:3, Funny)
Leoptard.
Re: (Score:3, Insightful)
This is going to be a Big Problem for all the artsy stoners.
Correction: This'll be a problem for the Yuppie stoners. The rest of the stoner crowd moved to other OSs long ago.
This problem, as much as I like to jeer at elitists, is not Mac-only... We just read [slashdot.org] how Vista freaks around the 16,384 file number when copying. I could rant about "flaws" like this in each of the "big three", Linux, OSX, and Windows. But I'm not. Why?
They're going to happen.
Folks, ya have to remember... At present, and especially commercially, "quality assurance" means jack when you h
Terrible bug (Score:3, Informative)
Knowing it exists means you can also work around it by doing copies every time and only manually deleting the source entry when you're sure the copy has completed properly. Now all you need to do is be mindful every time you want to move a file anywhere.
Sucks to be a Mac user (I am one, I know) but I'm sure Apple will have this fixed pretty quick.
Re:Terrible bug (Score:5, Insightful)
TFA looked decent in it's details. Even step by step recreation. But it's a pretty serious bug, that as you mention, *needs* to be fixed quick and I didn't see any other sources confirming it.
Re: (Score:3, Interesting)
I haven't "upgraded" yet so I don't actually know much about this Time Machine thing and how it works.
Re:Terrible bug (Score:5, Insightful)
You're asking if a bug wherein entire folder hierarchies can go *poof* in the event a network share drops should be considered critical? Are you serious?
Re:Terrible bug (Score:5, Insightful)
Only if a backup of the files was run, which is a requirement of Time Machine.
If this was Vista, then there would be a good chance to use 'previous versions' to recover the folder data, as it does not 'solely' rely on external backup for timeline file recovery. Vistas use volume level file version snapshots(a feature of NTFS that HPS+ doesn't support), so there are backups even on the drive if it hasn't ever been backed up.
(Remember Time Machine usually only runs once an hour, and all versioning or changes made in that hour are never kept or tracked.)
-PS Not trying to troll, but this is a perfect example of the difference between Vista's previous versions and Apple's Time Machine I have tried to point out in the past.
Vista does both volume level backups and external backups, unlike just external backups like Time Machine does.
See why IT people prefer Vista's method, even if a backup hasn't run that hour, even users themseleves can access files and folders rather easily that got deleted or changed. And since this has been around Since Windows 2003 Server, in corporate environments, even XP users accessing 2003 servers have had this feature for over 4 years now.
Vista's claim to fame is that it enables these features on the local hard drive, and also integrates with the Vista backup system, so file versions appear from the backups in addition to the 'snapshot versions' on the main hard drive.
That's missing the point... (Score:5, Interesting)
There's another angle, though. On paper, Vista's NTFS-based backup technology walks all over Time Machine. However, the USABILITY of Vista's technology is crap. This morning, I enabled Time Machine by plugging in a USB drive and clicking "Use as Backup Disk" when prompted. To do restores, I launch the cleverly named "Time Machine" application. I've already used it twice today just because it's fun to watch the spacey animations.
Compare that to Vista's clunky "Backup and Restore Center", which you have to use if you want to backup your files on an alternate volume. I guarantee you that using "Backup and Restore Center" is beyond most average users. Sure, it might be "better", but what good is it if it never gets used?
Re:Terrible bug (Score:4, Informative)
Re:Terrible bug (Score:4, Interesting)
Re: (Score:3, Insightful)
To me, that's a pretty clear bug. What stuns me is that Apple isn't using the underlying "mv" command - since it should certainly deal with this situation. They rolled their own defective version.
Never re-invent the wheel. You'll have a square wheel with 13 lug nuts of all
Re:Terrible bug (Score:4, Informative)
Error code 51 doesnt neccesarily mean the transfer failed. It can also mean lost connection to the share - which could have happened (in OSX's "mind") after it thought/was told the transfer was complete.
For instance, what if in stopping the share on the Windows session (incorrectly listed in the /. article as a FreeBSD Share), the SMB crap in Windows is "cleaning up" while shutting down and generating a "complete" code that it sends back to the Apple machine, which then in trying to communicate with the share, realizes it no longer can, and generates the correct error code as noted (51).
OSX did NOT generate a disk write error or any other error that would have been more applicable (like 43 or a bunch of other possibilities). It generated an error stating it lost communication with the other machine.
Again, still not enough info without knowing more about what the WinShare does when closed.
You just don't get it... (Score:5, Funny)
Comment removed (Score:5, Funny)
Par for the course? (Score:5, Informative)
For all of the flack the Windows file copy interface gets, it is both safer and more flexible than trying to use the Finder: an interface that makes file management so stupefying it becomes impossible.
Re:Par for the course? (Score:5, Interesting)
Doing a "replace" for that operation makes sense in a spatial system because all spatial icons are treated the same way. You'd wouldn't expect dragging a Word file named "happy.doc" into a folder already containing a "happy.doc" to perform a merge operation; so why would you expect that with a folder in the same situation?
That said, if you've never used Mac Classic, you'd think OS X has nothing but a browser interface, in which case all metaphors and ideals are out the damned window, and the OS might as well do a merge operation. Since you most likely came from Windows, or a Linux environment ripped-off from Linux, you'd expect dragging identically-named folders together to do a merge operation because that's what you're used to.
Apple needs to make up its mind what Finder is. It gets worse and worse every version.
Re:Par for the course? (Score:5, Funny)
Forking Linux developers!
Re: (Score:3, Interesting)
Re: (Score:3, Insightful)
Because folders are containers. To use a real-world analogy, it's perfectly possible to take the paper out of a folder and put it in another, rather than to throw out the original folder and put the new one in its place.
Of course, it's also perfectly possible to have identically-labelled pieces of paper in
Re:Par for the course? (Score:5, Insightful)
If you drag a folder called "Documents" into your home directory and click on "OK",
To be fair, I don't think it asks you whether it's ok to move that directory. It will warn you that it's going to replace that folder, and the buttons will either say, "Replace" or "Stop". It's not that ambiguous.
The only thing that makes it problematic is if you're accustomed to working in a file manager that will automatically merge directories, then you might think it's going to merge when it's actually going to replace. I would say that neither behavior is "wrong", but you certainly can get unhappy results if you're expecting one behavior and get another.
Honestly, it took me a little while to get used to it, but now that I expect it, it's fine. Usually, if I'm doing anything complicated with copying/moving lots of stuff recursively, I'm going to want to use a command line anyhow. In the command-line, "cp" and "mv" work in normal unix fashion.
Re: (Score:3, Interesting)
I guess the reason I have a problem with this is that my own computer usually has 3 drive letters listed - the internal hard drive, an external hard drive, and my USB flash drive, which I plug in when I sign on, usually
Re: (Score:3, Informative)
Pax isn't an OS X tool [oreilly.com] tool any more than tar is - just an FYI. Also, learn to love rsync. It would've done what you described in a breeze (at least when compared with other command-line tools).
Re:Par for the course? (Score:4, Insightful)
Re:Par for the course? (Score:5, Insightful)
Re:Par for the course? (Score:5, Informative)
Serious answer...
XP offers a basic, do you want to replace folder and a basic do you want to replace files. (Very generic, but more than OS X does)
Vista on the other hand, asks if you want to replace/merge folder and then if conflicting files are found in the folders it asks you if you want to overwrite the files, don't overwrite them, or create a second copy of the file in the same folder. File by File and Folder by Folder if you want, or you can hit a check box to mimic your response for all file and folders if you are moving a lot of files/folders.
It also will show you the two versions of the file or folder so you can make a decision based on which files/folders are newer, and you even get a thumbnail of the file for documents and pictures to be sure you are keeping the one you want.
(Very simple interface, but more has the functionality of the power geek that was always left to using tools like XCopy in the past.)
This is one of the 'little' Vista features that doesn't get any press, but is a lifesaver for people that move around a lot of data, as you can merge and update folders and files much easier.
Stuff like this is the reason I said if MS did a 'new features' list like the pety list Apple did with their 300 new features, Vista would have several thousand new features to list.
(Again MS's marketing sucks, since most people don't even know stuff like this exists in Vista, and it is both powerful, easy, and just works.)
Re:Par for the course? (Score:4, Interesting)
Vista works very differently, not only Folders are confirmed but every file in the folders are confirmed with options to replace/don't copy/create second copy...
So ya this sucked in older versions of Windows, but Vista does a great job of handling this, better than any other GUI file manager I have ever seen to date.
Maybe you should try Vista instead of OSX... But again if MS was doing their job and was touting features like this in Vista, people would find more reasons why Vista has a lot of things to offer. Instead MS's marketing is retarded and nice features like this are NEVER mentioned and none of even the tech press notices them or points them out to users.
And trust me when I say there are literally 1000s of features like this that make the difference between Vista and XP night and day for daily usage.
Take advantage of Time Machine (Score:4, Funny)
Not to be glib, but.. This would be a great demonstration of the value of "Time Machine" backups. Time Machine is not perfect, but it is a good start on a backup system well integrated into the OS. The example problem, data loss, would be really easily recovered via Time Machine.
Beyond the basics that every decent backup app does, the things I like about Time Machine are:
- Integration into Applications. For example: "Show me what my iTunes library or iPhoto library looked like last Thursday"
- Integration into OS install. In the case of disk failure, recovery to previous state is simple - rather than multi-step with a separate backup app.
Some things that need improving:
- Better handling of file exceptions. I keep work data in encrypted disk volumes (DMGs). If I change one byte, the whole huge file needs to be backed up as each change is detected (generating MANY copies of that big DMG). The only other choice is to say "ignore this file/directory". Same thing applies to any large file, such as a VMware VM file. A better option would be to say "Back this file up, but only keep 'n' versions".
- Time Machine has gotten twice, pegging the CPU/fans on my MacBook Pro.
Wow (Score:5, Interesting)
Back in the day when I used to use my mac I dropped a directory (A) into another directory (B) but there was an existing directory (C) with the same name as (A). The finder asked me something, I clicked OK. I was dismayed to find that the dialog had asked me "Would you like to replace directory C, with A?" - Why on earth would that ever be the default option for a directory move? From the users perspective you aren't really moving the directory, the intention is to move the files, thus the sane response would be to merge A with C not replace it.
Whatever.
Re: (Score:3, Insightful)
I was curious, so I tried this scenario with Nautilus (the file manager in GNOME). It prompted me: "A folder named 'A' already exists. Do you want to replace it?" which sounds rather much like the Mac OS behavior your described. But it goes onto explain: "The folder already exists in 'B'. Replacing it will overwrite any files in the folder that conflict with the files being copied." This suggests instead that unlike the dialog heading, B/A will not be replaced, but the two directories' files merged. I
Thread bug? (Score:3, Insightful)
Think about it: safe data movement has been around since filesystems existed. However, the new Finder is multi-threaded. It could be that the error handler is doing the wrong thing with the thrown exception...after all, what -do- you do with an exception in a subthread? What mechanism do you use to throw it upwards to the parent thread?
That's the joy of error handling, which is totally separate (though completely integral) to your normal architecture issues.
Finder Has A 'Move' Now? (Score:3, Insightful)
The workaround is trivial - copy files until you're certain. In fact, I'd recommend doing that in all OSs anyway. Moves or cut-pastes are fraught with potential badness. I've lost files in Windows doing that, and always wondered what's wrong with just moving and deleting manually later on.
"haha" (Score:5, Interesting)
Why is every destructive computer bug that happens tagged with "haha"?
Data Loss Bug In OS X 10.5 Leopard
bug, macosx, apple, haha
Symantec Updates Cause Chaos in China
haha, security, bug, windows, feature
Banner Ad on Myspace Serves Adware to 1 Million
haha, myspace, pwnd, security, adware
Ubuntu May Be Killing Your Laptop's Hard Drive
linux, haha, storage, bug, spam
Islamists exploit buffer overflow, hack U.S. nuclear command; world doomed
eschaton, religion, waronterror, haha
OK, I made one of those up. But it doesn't even matter what OS or company is responsible for the problem - whoever makes the tags seems to take great delight in all computer snafus. How does the tagging system work anyway? It's always been mysterious to me.
Not default behavior (Score:4, Informative)
This may not be a bug in Leopard (Score:4, Insightful)
If this is true then the bug is im the copy of Samba running on the file server. We do not yet have enough information to know.
Re:This may not be a bug in Leopard (Score:4, Insightful)
The second you drop the file, it begins copying the file to the destination volume, but the original file disappears... poof, gone. If you stop the move operation, you're left with an incomplete file in the destination volume and with nothing in the original volume. This is to me a major bug.
This is why, for large files, I always copy.
I had this happening to me with WinXP aswell (Score:5, Informative)
(Or maybe Samba has something to do with it?)
osx ? (Score:3, Informative)
All O/Ses have it wrong. (Score:3, Interesting)
Secondly, "move" across different devices should be copy and then delete.
Thirdly, if you copy a folder over another one with the same name, the computer should ask you what the purpose is: merge or replace? merge is often as catastrophic as replace if merging results in undesirable file combinations.
Forthly, files should be versioned by the O/S, as in VMS. It was a great feature, I don't know why it's missing from all modern O/Ses.
This may not get read, but still (Score:4, Informative)
http://www.macintouch.com [macintouch.com] Obviously this is the front page story today.
This only affects "move" operations between logical volumes. You have to hold down Command while you're doing this, inside the Finder, to get this to happen. Yes, it's a bad bug. It's not something, however, that you're going to run into if you're thinking sensibly about how you treat important data, or if you didn't know that the Command-drag functionality was built into the Finder (which I didn't, and I can't think of a time when I would use it now that I do, even if it was working correctly).
Wait... (Score:5, Funny)
Exactly which decade did you fall into your recently awkened from coma in? Testing? Testing? Nobody tests anything anymore, they just go play with all the new toys and stare at the eye-candy. Actual mundane, humdrum testing? That's an SEP if ever I didn't see one.
Re:Wierd (Score:5, Funny)
Apple Customer Quality Feedback (CQF) Program (Score:3, Insightful)
Many years ago, think System 7, Apple had this great Customer Quality Feedback (CQF) program. We tortured our systems between the alpha-testers and the great unwashed masses. There were Apple staff who (gasp) listened to our bug reports and got back to us reasonably quickly. It was grand.
Then someone got fired, or promoted, or whatever, and the CQF pr
Re:No it isn't (Score:5, Informative)
Wrong-o!! You absolutely do not have to pay anything to involved in the Appleseed program.
Re: (Score:3, Informative)
https://appleseed.apple.com/cgi-bin/WebObjects/SeedPortal.woa/wa/faq [apple.com]
OR, there's:
http://developer.apple.com/products/select.html [apple.com]
Re:No it isn't (Score:5, Interesting)
Re: (Score:3, Insightful)
I don't think its fair to single MAC OS out for this either. As far as I know most mainstream OS seem to handle move operations with media exceptions badly.
I agree. I always copy then delete, especially when dealing with network shares. Windows used to lose data if anything went wrong when moving something across the network. I don't have a Vista box handy to test if it is still an issue.
That said, I've never understood why move isn't implemented as a copy, check, delete and only be destructive before completing if the move process figures out you don't have enough space and then prompts you.
Re:I don't understand (Score:5, Funny)
Despite its many shortcomings, Windows ME (*NOT* the more recent ME2) had this truly wonderful feature where if you delete something from a network share it would *copy* the data across the network into your trash folder.
Really handy when you delete 10G of data on a network share and your local hard drive has 5G available and you are on a 10mbps network.
Re: (Score:3, Interesting)
Maybe move should be implemented as copy, completly then delete but its often not.
Why on earth wouldn't you? Doing it any other way is not only obviously dangerous, it's far harder to implement! What would you do, map the file on disk, unlink the file and then copy and wipe each raw disk block? I could see doing something crazy like this in specialized applications, where freeing storage at the source is priority one, but in
Re:I don't understand (Score:5, Informative)
Uhh no. In linux mv's always make sure the data moved then delete the original file (as far back as 2.4). You can test this by dd'ing a large file (use if=/dev/urandom), then run a md5sum on it, then do a mv within the same drive, over nfs, over samba/cifs, to floppy (not sure what happens here because linux caches writes to floppies until umount), to usb drive, whatever. While the mv is in operation just pull the plug on the system (target or source system). Your old file will still be there!
Re: (Score:3, Informative)
Have you ever used a computer? Youre quite simply wrong. Ive had many move operations fail and never lost a file doing it. You can test by moving a large file, pulling the network cable out. The file is still on your PC. With your "bad disk" example, well yeah if the disk lies to the OS saying that files are copied when theyre not then that could happen. This would be very rare as bad disks tend to advertise rather loudly (to the
Re: (Score:3, Informative)
Re:defectivebydesign (Score:5, Funny)
Re:Problems (Score:4, Funny)
Simon.
Re: (Score:3, Informative)
Re: (Score:3, Insightful)
I've heard of a phrase for this sort of thing -- "defective by design".