
"Miller's employer shut down those VMs at the end of the working day to free up resources for overnight jobs. He therefore wrote a cleanup routine that removed the drives and backed up their contents. This story took place in 1981, a time when it was possible for code written by a 21-year-old to go into production without much scrutiny."
"Oversight arrived at 3 AM, when the overnight operators ran Miller's cleanup code and it produced a "file not found" message. Miller spent his entire Saturday finding the problem, the roots of which lay in the fact that the mainframe assigned a letter to each user drive, with A-Z as the available labels."
""The routine attached to all users' drives and backed them up to a temporary drive," Miller explained. "But you never knew in advance what drive letter the system would assign to the temporary drive. So I wrote a routine to attach it and capture the letter." That approach worked, until it didn't - because on this day Miller's employer gave another user an account on the mainframe. And that user's virtual drive meant the mainframe used the entire alphabet of disks."
""The call for temp disk failed and my routine passed back an asterisk instead of an error code," Miller confessed. The routine then ran its delete command, but instead of specifying a drive letter to destroy, applied the asterisk and deleted everything. "Every file, al"
A 21-year-old wrote cleanup code for a mainframe that created a virtual machine and a virtual disk for each user. The employer shut down those virtual machines at the end of the day and relied on the cleanup routine to remove drives and back up contents. In 1981, code could reach production with limited scrutiny. At 3 AM, overnight operators ran the routine and received a “file not found” message. The failure came from the system assigning drive letters A-Z to user drives, while the temporary drive letter was not known in advance. The routine captured the temporary drive letter, but when another user account was added, the alphabet was fully consumed, the temporary disk attachment failed, and the routine returned an asterisk instead of an error code. The delete command then used the asterisk and removed everything.
Read at theregister
Unable to calculate read time
Collection
[
|
...
]