The Ultimate Toy

Debugging the computer "Eagle"

MANY OF THE ENGINEERS IN THE ECLIPSE GROUP were tinkerers when they were growing up. They remembered taking apart and then reconstructing -- often just for the fun of it and sometimes to their parents' chagrin -- all manner of things in their childhood homes: lamps, telephones, clocks, radios, TVs, lawnmowers. Some still found a complicated-looking, storebought object an irresistible temptation. Ken Holberger, for instance, had recently bought a new digital watch and a new programmable calculator. He had taken both of them apart, in order to figure out how they worked. "I usually get things back together, too," he remarked. Another of the Hardy Boys called computers "the ultimate toy." One did not have to look far for the source of the delight with which many of them delved into Eagle. Engineering at its best resembles play.

Some members of the team cheerfully professed ignorance about, and little interest in, the ultimate fruits of their labor. Ken Holberger remarked, with a smile, "A sense of the applications is somewhat missing. But it doesn't matter. We say that the ultimate goal is to build a machine to run a multiprogramming reliability test. But I understand that people who buy computers do run other programs on them ... ." Some worried about what would be done with their machine, but for all, such issues remained comfortably remote; they would have no control over Eagle's ultimate destination.

One of the young engineers remarked, in the middle of the long debugging, "You have narrowed your field of vision to a small world ... When you're concentrating on that little world, you leave everything else out." He did not entirely approve of this state of affairs, he said, but he did not ask that it be altered. The world that Eagle made for many of them was narrow, but it was also a world of clarity, in which good and bad could be defined. All they had to do was to make this computer come to life, and that was itself such a challenging task that beside it most other considerations seemed dull.

When they had started debugging, the wires on the backs of the prototypes' boards had all been blue. They made their changes with red wires. The backs of the boards got redder and redder.

As the summer wore on, new boards arrived at the lab, ones in which the functions of wires were assumed by metal engravings. Two new prototypes were assembled. One part of the Eclipse Group continued to refine and expand the "microcode," the basic vocabulary of signals that endowed Eagle's circuits with the ability to follow instructions. In another division of the company, a team of software engineers was working to create for Eagle the complex set of programs called an operating system. All phases of the project were proceeding well, but the debugging of the hardware still wasn't at an end. In August, an executive from the engineering division asked Rasala when he thought the Hardy Boys would finish. Rasala looked squarely at the executive and said, "I don't know."

Rasala no longer felt able to participate in the scheduling game. It troubled him to make promises that he could not fulfill. On the other hand, he thought they had better finish by the end of September. "Our credibility, I think, is running out," he said, one evening early in August.

They still had a long way to go; they were tired. So was Rasala. He had not been doing much of the debugging, but he had usually participated in the dreary work of altering the boards, and for the past seven months he had made it his policy to be on hand for most of each day's two shifts. Now even the speed at which he talked had decreased. Walking toward the lab, he spoke in short sentences and paused in between them. "The momentum has slowed down dramatically ... Back in the early days, when nothing worked, it was easy to find things to do ... Now almost everything works ... The problems are harder to find ... They take days ... The people are more tired, I think . ... The problems may be less interesting ... Some are more complicated ... . This is the grind part, I think." Experienced members of the Eclipse Group held that when a computer reaches the last stages of its incubation, progress usually comes slowly.

ON SATURDAY, THE FIFTEENTH OF SEPTEMBER, Rasala inaugurated "the last big push." "We're gonna work 'round the clock, Saturday, Sunday," he said. "We're gonna do it all, and bathe in glory, guys." Late on Saturday afternoon, however, while running one of the last diagnostic programs, Gollum came down with what appeared to be a terrible bug.

Guyer, Holberger, and Rasala took it on. After an hour or so, Rasala felt stymied. "It's some complex interaction of the IP, the ATU, microsequencer, and IOC. And probably the ALU, for that matter," he said to himself. In effect, he was thinking, "The whole damn machine is involved." They could not find the cause of the failure, and after many hours of searching, they all went home. Rasala's big push came to a halt.

On Sunday morning, all three engineers gathered around Gollum and Coke again. They discovered that Coke did not commit the error in question, in spite of the fact that Coke was supposed to be identical to Gollum. Rasala and Holberger invented a hypothesis, which they discussed. In the lab, three-way conversations often led to confusion, so Jim Guyer pushed his chair away from his colleagues. He rocked back and gazed absently at Coke. He was staring at the circuit boards that were lined up like a shelf of books inside the machine's open frame. Suddenly, he realized that Coke had one more board on its shelf than Gollum had. Coke had an extra board of main memory. Guyer swore.

"What?" said Rasala.

Guyer was already leafing through the listing that described the steps in the diagnostic program that Gollum was failing. "I don't want to tell you yet," he called over to Rasala. "But I think I've got it."

"You tell me now!" said Rasala.

Guyer brought over the document. He reminded Rasala and Holberger that Coke had two boards of main memory installed, whereas Gollum had only one.

Holberger looked at the listing of the diagnostic. "Yup," he said. The person who had written the diagnostic program had inadvertently directed that the computers cross from a section of storage located at the end of one main memory board to a section at the beginning of a second. But in Gollum there was no second board. So when Gollum came to this instruction, it failed. "It fell off the end of the world," said Rasala.

The ratiocination continued. They had stepped into a well-known trap. Diagnostic programs, which are designed to locate bugs, sometimes have bugs themselves. But mainly, the three engineers agreed, they themselves were at fault. They had failed to recognize the error promptly because they were used to thinking in the numbering system that they had employed in their last machine. Eagle used a different system. "And we didn't change our way of thinking," said Rasala.

The problem was easily rectified, but they had lost most of a day. "It's kind of embarrassing," said Guyer.

BY THE EVENING OF SEPTEMBER 20,THE PROTOTYPES had mastered the first but not the second of the multiprogramming reliability tests. That night in the lab, in a confident moment, Rasala and some of the others on the team attempted to make one of the prototypes run the program for a well-known computer game called "Adventure." If the machine ran this program, it would be the first time, after more than a year and a half of labor, that an Eagle had done more than run tests. It would be a launching of sorts. Everyone in the lab gathered around the prototype's system console. Rasala sat at the controls. He typed some instructions, in order to initiate the running of the program. In a moment the console scratched out this message, in reply: "FATAL ERROR."

What was wrong?

"We don't know," said Rasala. "We don't know everything about the machine."

Reaching for some comforting words, an observer said, "Well, at least some of it works."

"Yeah," said Jim Guyer. "And someday we'll know which part."

For the next several days Eagle failed its last multiprogramming test mysteriously. In the jargon of the lab, the computer was "blowing away," "crashing," and "going to never-never land" after every four hours or so of smooth running. But on September 25, Rasala announced, "As of this morning, Eagle ran multiprogramming twelve hours overnight without failing."

The cause of the failures had been trivial; noise had been to blame. The debugging was not finished, however. The most advanced of the prototypes was running all of the toughest diagnostic programs, but it was failing occasionally when asked to perform some of the easier ones. The Hardy Boys would rush to their analyzers, run the low-level test again, and the failure would not occur. Clearly, it was a "flake." But where did the problem reside?

The executive from the engineering division often visited the lab. One evening he came in and was informed about the "flake." At that moment, one of the circuit boards of the most advanced prototype was sitting out on an extender. The executive walked over to the computer and, to the engineers' horror, grasped the circuit board by its edges and shook it. At that instant, the computer failed. The problem lay in that board's sockets. The engineers replaced all of them; when they were done, the flake was gone forever.

Holberger paid this tribute to the executive: "He got it to fail by beating it up."

On October 8, a maintenance crew came into the lab with a large dolly. Onto it they loaded a prototype Eagle, and, accompanied by several members of the Eclipse Group, they wheeled the machine down a hallway to the software department.

The veterans of the Eclipse Group subscribed to a hypothesis called "the theory of the last bug." It stated that no art could remove from any computer all the flaws in its design; a computer would become obsolete or would stop functioning, some centuries hence, because of dust in its circuits, before the last of its bugs appeared. By their own theory, they would never finish debugging Eagle. Nevertheless, when they shipped it to software, they reached an approximate end. In Eagle, in "la machine," order now reigned over chaos. "It's a computer," Rasala declared.

Several months passed before it became apparent that Eagle was indeed a very good and reliable computer and that it was going to bring in a great deal of money. In the interim, Rasala held to his cautious line, as if by naming the worst he could prevent it from happening. "There's still a small but finite chance that there won't be an Eagle," he'd say. Indeed, only a few weeks before the machine's scheduled public debut, a truly terrible bug appeared.

The Hardy Boys spent several days attempting to isolate its cause. They got close enough to know that they were near to the source of the problem, but they could not fully identify it. Then Holberger said that though he could not name the origin of the bug, he knew how to fix it. His solution involved the addition of only one wire to a circuit. Holberger said he didn't know why his repair would solve the problem; he knew only that it would. He added his magical wire to Eagle, in the software department's lab. One software engineer remarked that hardware design certainly was a peculiar art. Jim Veres offered a better explanation. He said, "A computer to the people who built it, it's part of them. You can almost feel what's wrong with it."

Jump to comments
Presented by
Get Today's Top Stories in Your Inbox (preview)

An Eerie Tour of Chernobyl's Wasteland

"Do not touch the water. There is nothing more irradiated than the water itself."


Join the Discussion

After you comment, click Post. If you’re not already logged in you will be asked to log in or register. blog comments powered by Disqus

Video

Is Technology Making Us Better Storytellers?

The minds behind House of Cards and The Moth weigh in.

Video

A Short Film That Skewers Hollywood

A studio executive concocts an animated blockbuster. Who cares about the story?

Video

In Online Dating, Everyone's a Little Bit Racist

The co-founder of OKCupid shares findings from his analysis of millions of users' data.

Video

What Is a Sandwich?

We're overthinking sandwiches, so you don't have to.

Video

Let's Talk About Not Smoking

Why does smoking maintain its allure? James Hamblin seeks the wisdom of a cool person.

Writers

Up
Down

More in Technology

More back issues, Sept 1995 to present.

Just In