Wednesday, January 14, 2009

History's Worst Software Bugs

Last month automaker Toyota announced a recall of 160,000 of its Prius hybrid vehicles following reports of vehicle warning lights illuminating for no reason, and cars' gasoline engines stalling unexpectedly. But unlike the large-scale auto recalls of years past, the root of the Prius issue wasn't a hardware problem -- it was a programming error in the smart car's embedded code. The Prius had a software bug.

With that recall, the Prius joined the ranks of the buggy computer -- a club that began in 1945 when engineers found a moth in Panel F, Relay #70 of the Harvard Mark II system.The computer was running a test of its multiplier and adder when the engineers noticed something was wrong. The moth was trapped, removed and taped into the computer's logbook with the words: "first actual case of a bug being found."

Sixty four years later, computer bugs are still with us, and show no sign of going extinct. As the line between software and hardware blurs, coding errors are increasingly playing tricks on our daily lives. Bugs don't just inhabit our operating systems and applications -- today they lurk within our cell phones and our pacemakers, our power plants and medical equipment. And now, in our cars.

But which are the worst?

It's all too easy to come up with a list of bugs that have wreaked havoc. It's harder to rate their severity. Which is worse -- a security vulnerability that's exploited by a computer worm to shut down the internet for a few days or a typo that triggers a day-long crash of the nation's phone system? The answer depends on whether you want to make a phone call or check your e-mail.

Many people believe the worst bugs are those that cause fatalities. To be sure, there haven't been many, but cases like the Therac-25 are widely seen as warnings against the widespread deployment of software in safety critical applications. Experts who study such systems, though, warn that even though the software might kill a few people, focusing on these fatalities risks inhibiting the migration of technology into areas where smarter processing is sorely needed. In the end, they say, the lack of software might kill more people than the inevitable bugs.

What seems certain is that bugs are here to stay. Here, in chronological order, is the Wired News list of the 10 worst software bugs of all time … so far.

July 28, 1962 -- Mariner I space probe. A bug in the flight software for the Mariner 1 causes the rocket to divert from its intended path on launch. Mission control destroys the rocket over the Atlantic Ocean. The investigation into the accident discovers that a formula written on paper in pencil was improperly transcribed into computer code, causing the computer to miscalculate the rocket's trajectory.

1982 -- Soviet gas pipeline. Operatives working for the Central Intelligence Agency allegedly (.pdf) plant a bug in a Canadian computer system purchased to control the trans-Siberian gas pipeline. The Soviets had obtained the system as part of a wide-ranging effort to covertly purchase or steal sensitive U.S. technology. The CIA reportedly found out about the program and decided to make it backfire with equipment that would pass Soviet inspection and then fail once in operation. The resulting event is reportedly the largest non-nuclear explosion in the planet's history.

1985-1987 -- Therac-25 medical accelerator. A radiation therapy device malfunctions and delivers lethal radiation doses at several medical facilities. Based upon a previous design, the Therac-25 was an "improved" therapy system that could deliver two different kinds of radiation: either a low-power electron beam (beta particles) or X-rays. The Therac-25's X-rays were generated by smashing high-power electrons into a metal target positioned between the electron gun and the patient. A second "improvement" was the replacement of the older Therac-20's electromechanical safety interlocks with software control, a decision made because software was perceived to be more reliable.

What engineers didn't know was that both the 20 and the 25 were built upon an operating system that had been kludged together by a programmer with no formal training. Because of a subtle bug called a "race condition," a quick-fingered typist could accidentally configure the Therac-25 so the electron beam would fire in high-power mode but with the metal X-ray target out of position. At least five patients die; others are seriously injured.

1988 -- Buffer overflow in Berkeley Unix finger daemon. The first internet worm (the so-called Morris Worm) infects between 2,000 and 6,000 computers in less than a day by taking advantage of a buffer overflow. The specific code is a function in the standard input/output library routine called gets() designed to get a line of text over the network. Unfortunately, gets() has no provision to limit its input, and an overly large input allows the worm to take over any machine to which it can connect.

Programmers respond by attempting to stamp out the gets() function in working code, but they refuse to remove it from the C programming language's standard input/output library, where it remains to this day.

1988-1996 -- Kerberos Random Number Generator. The authors of the Kerberos security system neglect to properly "seed" the program's random number generator with a truly random seed. As a result, for eight years it is possible to trivially break into any computer that relies on Kerberos for authentication. It is unknown if this bug was ever actually exploited.

January 15, 1990 -- AT&T Network Outage. A bug in a new release of the software that controls AT&T's #4ESS long distance switches causes these mammoth computers to crash when they receive a specific message from one of their neighboring machines -- a message that the neighbors send out when they recover from a crash.

One day a switch in New York crashes and reboots, causing its neighboring switches to crash, then their neighbors' neighbors, and so on. Soon, 114 switches are crashing and rebooting every six seconds, leaving an estimated 60 thousand people without long distance service for nine hours. The fix: engineers load the previous software release.

1993 -- Intel Pentium floating point divide. A silicon error causes Intel's highly promoted Pentium chip to make mistakes when dividing floating-point numbers that occur within a specific range. For example, dividing 4195835.0/3145727.0 yields 1.33374 instead of 1.33382, an error of 0.006 percent. Although the bug affects few users, it becomes a public relations nightmare. With an estimated 3 million to 5 million defective chips in circulation, at first Intel only offers to replace Pentium chips for consumers who can prove that they need high accuracy; eventually the company relents and agrees to replace the chips for anyone who complains. The bug ultimately costs Intel $475 million.

1995/1996 -- The Ping of Death. A lack of sanity checks and error handling in the IP fragmentation reassembly code makes it possible to crash a wide variety of operating systems by sending a malformed "ping" packet from anywhere on the internet. Most obviously affected are computers running Windows, which lock up and display the so-called "blue screen of death" when they receive these packets. But the attack also affects many Macintosh and Unix systems as well.

June 4, 1996 -- Ariane 5 Flight 501. Working code for the Ariane 4 rocket is reused in the Ariane 5, but the Ariane 5's faster engines trigger a bug in an arithmetic routine inside the rocket's flight computer. The error is in the code that converts a 64-bit floating-point number to a 16-bit signed integer. The faster engines cause the 64-bit numbers to be larger in the Ariane 5 than in the Ariane 4, triggering an overflow condition that results in the flight computer crashing.

First Flight 501's backup computer crashes, followed 0.05 seconds later by a crash of the primary computer. As a result of these crashed computers, the rocket's primary processor overpowers the rocket's engines and causes the rocket to disintegrate 40 seconds after launch.

November 2000 -- National Cancer Institute, Panama City. In a series of accidents, therapy planning software created by Multidata Systems International, a U.S. firm, miscalculates the proper dosage of radiation for patients undergoing radiation therapy.

Multidata's software allows a radiation therapist to draw on a computer screen the placement of metal shields called "blocks" designed to protect healthy tissue from the radiation. But the software will only allow technicians to use four shielding blocks, and the Panamanian doctors wish to use five.

The doctors discover that they can trick the software by drawing all five blocks as a single large block with a hole in the middle. What the doctors don't realize is that the Multidata software gives different answers in this configuration depending on how the hole is drawn: draw it in one direction and the correct dose is calculated, draw in another direction and the software recommends twice the necessary exposure.

At least eight patients die, while another 20 receive overdoses likely to cause significant health problems. The physicians, who were legally required to double-check the computer's calculations by hand, are indicted for murder.

Sunday, December 21, 2008

3D gaming, HD video coming to netbooks in 2009

By Jon Stokes | Published: December 19, 2008 - 03:15PM CT
Source:Arstechnica
Netbook users rejoice: NVIDIA has announced plans to pair Intel's Atom processor with a real mobile GPU, the 9400M. It's no secret that Intel's integrated graphics processors stink across the board, and they're the biggest weakness in the company's ultramobile platform. But by pairing the Atom processor with a 9400M, NVIDIA will be able to offer users a mobile x86 platform that supports 1080p video decoding, dual-link DVI out, DirectX 10 graphics, CUDA, and OpenCL.

The entire platform should draw about 18W of power, which is in the same ballpark as the current Intel Atom platform (12 watts). Note that Ion will cut the number of chips in the Atom platform down from Intel's three-chip design (Atom + 945GSE + I/O hub) to just two chips (Atom + 9400M), but the 9400M is substantially more powerful as GPU and you can't get something for nothing.



AMD and VIA also in the game
NVIDIA's and Intel's competition is by no means sitting still. AMD announced its Yukon ultramobile platform last month, and it combines a mobile Radeon GPU with a forthcoming AMD processor. Due out in 2009, the platform will support HD video decoding, but it will have a slightly higher power draw than any Atom-based offerings just based on the CPU alone. (AMD doesn't yet have an Atom or Nano equivalent.)
More recently VIA announced its Trinity platform, which combines the VIA Nano processor, the VX800 northbridge (plus IGP), and a discrete GPU from S3. Like the Ion and Yukon platforms, Trinity will support Windows Vista, DirectX 10, and HD video decoding in a very small form factor.

Adobe enables iPlayer downloads on Mac and Linux

By Julian Clover | December 19, 2008

The BBC and Adobe Systems have launched a public beta of the new BBC iPlayer Desktop download manager. It has been built using the Adobe AIR platform and will allow users of Windows, Mac and Linux to download BBC content to their desktops. It is the first time that Mac and Linux users have been able to download content directly. The two platforms have previously been restricted to streaming.

Initially iPlayer Desktop is being restricted to those who have enrolled as BBC iPlayer Labs users, though the application will be rolled out to all iPlayer users during 2009.

“Since it launched at the end of last year, BBC iPlayer programmes have been available for streaming on Windows, Mac and Linux computers. Today, we’re pleased to display our commitment to providing a cross-platform download solution for BBC iPlayer users, as Mac and Linux users are now able to download BBC iPlayer programmes to play offline,” said Erik Huggers, director, BBC Future Media & Technology.

Jim Guerard, vice president and general manager of Dynamic Media at Adobe, added that the BBC was trusted worldwide as a broadcast innovator. “The BBC iPlayer Desktop beta on Adobe AIR will help extend their popular browser-based Web video broadcasts to more viewers with a high-quality, instant-on Internet TV experience outside the browser and across all major operating systems.”

The BBC already uses Adobe Flash for streaming content within the iPlayer.

Panasonic and Sanyo: the deal is on, merger creates Japan's biggest electronics company

Like all good romances, the relationship looked precarious at times. But it now looks certain that Panasonic will acquire Sanyo, following stakeholder Goldman Sachs acceptance of Panasonic’s latest share offer.

Initially, the financial giant, one of three main shareholders in Sanyo, baulked at Panasonic’s 120 yen per share offer, claiming it was too low.

Panasonic upped its offer to 131 yen yesterday which now looks to have been accepted. The two remaining shareholders, Daiwa Securities SMBC and Sumitomo Mitsui Banking have already signed up to the deal.

It’s expected that Panasonic and Sanyo will officially announce the merger on Friday.
Sanyo is particularly attractive to Panasonic because of its strong solar panel and battery operations.

Sanyo is also pioneering other green technologies, including an electric hybrid bicycle - the eneloop bike.


The merger would create Japan’s biggest electronics company.

Consumer Electronics prices to go up in 2009

If you see a good deal on TV or AV this Christmas – go for it, as the days of cut-price electronics are about to come to a shuddering halt. Home Cinema Choice has talked to a number of CE companies, both specialist and mainstream, and all are now warning that their prices will rise significantly in 2009.

The weakness of the pound against the Euro and the strength of the yen are principal factors in what will be very apparent price hikes throughout the coming 12 months.

‘There’s no way to avoid it, ‘Pioneer product specialist Jim Catcheside told HCC. ‘We’re currently preparing our 2009 ranges and entry-level products are coming in higher than the step-up models we have now.’

Pioneer recently reduced the average selling price of its Kuro plasma TV range by £500, but the price-drop will apply only to stock already in the country. ‘I think people will kick themselves if they hang on thinking things will continue to get cheaper,’ said Catcheside. ‘They won’t.’

Shinichi Mizuuchi, Toshiba’s Group manager for Overseas Sales & marketing, is responsible for the Japanese giant’s European DVD business. He told HCC: ‘We’re in discussions with our European sales offices at this moment regarding pricing for 2009, but the economic situation is creating real headaches for us. It’s going to be a difficult year.’

Companies are predicting prices rises of around 30 per cent in every category. One factor that could mitigate against the spiralling cost of TVs would be an oversupply of panels from the major glass makers. But production is already being curtailed at plants in Japan, South Korea and Taiwan, to prevent this.

Leading LCD maker Sharp has announced the closure of its older panel-making facilities, while other vendors are ‘controlling’ supply. HCC was recently invited to inspect Samsung's plasma factory in Korea, but to the embarrassment of our hosts, we found the plant completely idle upon arrival.

Market research firm DisplaySearch is predicting a drop in supply by nearly 12 million screens from previous forecasts. The category which will see the largest reduction in supply is expected to be 32in models.

The message is clear: buy it cheap while you still can. The UK is in the eye of an economic storm right now. AV products introduced earlier this year are being heavily discounted and the VAT cut to 15 per cent is an extra sweetener. But it’s not going to last.

Motorola, SXBN integrated DTV platform

Motorola has confirmed that its set top producing subsidiary in China, Hangzhou Motorola Technologies (HMT), has signed a strategic cooperative agreement for its integrated Digital TV (DTV) platform with one of China’s largest broadcasting operators.

Under the terms of this agreement, HMT and the Shaanxi BC & TV Intermediary (SXBN) will establish a joint laboratory to design integrated DTV hardware platforms and software solutions that will provide digital video and information services as well as unified user interfaces for all DTV subscribers in Shaanxi. Aimed at improving SXBN’s operational efficiency and performance, this lab will position SXBN as China’s only broadcast operator to own a wholly integrated DTV platform. In addition, the lab will conduct further research on the future demands for DTV and value-added services platform.

Sky runs 3D test

Satellite Broadcaster BSkyB has said it has made the first broadcast test of 3D television in the home. Over the past few months the broadcaster has captured the boxer Ricky Hatton, England rugby matches, Liverpool football matches and the Gladiators revival using 3D cameras.

The broadcast was made over a standard Sky HD set-top box, but a specially modified television display made by Hyundai was required, along with a pair of 3D glasses.

In March the BBC demoed coverage of the Six Nations rugby championship in the 3D format with France Telecom’s Orange Labs showing a similar demonstration at the French Open Tennis championships in May. The Czech O2 TV platform claimed to be offering its subscribers 3D content as long ago as April 2007.

It is anticipated that a number of consumer electronics manufacturers will be showing 3D equipment at the forthcoming CES exhibition