RFC 968 UNKNOWN DEBUGGING · NETWORK

Twas the night before start-up

A poem about troubleshooting a network that fails on startup.

On rfc-editor.org ↗
PUBLISHED
December 1985
AUTHORS
V.G. Cerf
STREAM
Legacy
DOI
10.17487/RFC0968

RFC text

Contents
Original text · RFC Editor View on rfc-editor.org ↗
Network Working Group                                            V. Cerf
Request for Comments: 968                                            MCI
                                                           December 1985

                    'Twas the Night Before Start-up'


STATUS OF THIS MEMO

   This memo discusses problems that arise and debugging techniques used
   in bringing a new network into operation.  Distribution of this memo
   is unlimited.

DISCUSSION

   Twas the night before start-up and all through the net,
     not a packet was moving; no bit nor octet.
   The engineers rattled their cards in despair,
     hoping a bad chip would blow with a flare.
   The salesmen were nestled all snug in their beds,
     while visions of data nets danced in their heads.
   And I with my datascope tracings and dumps
     prepared for some pretty bad bruises and lumps.
   When out in the hall there arose such a clatter,
     I sprang from my desk to see what was the matter.

   There stood at the threshold with PC in tow,
     An ARPANET hacker, all ready to go.
   I could see from the creases that covered his brow,
     he'd conquer the crisis confronting him now.
   More rapid than eagles, he checked each alarm
     and scrutinized each for its potential harm.

   On LAPB, on OSI, X.25!
     TCP, SNA, V.35!

   His eyes were afire with the strength of his gaze;
     no bug could hide long; not for hours or days.
   A wink of his eye and a twitch of his head,
     soon gave me to know I had little to dread.
   He spoke not a word, but went straight to his work,
     fixing a net that had gone plumb berserk;
   And laying a finger on one suspect line,
     he entered a patch and the net came up fine!

   The packets flowed neatly and protocols matched;
     the hosts interfaced and shift-registers latched.
   He tested the system from Gateway to PAD;
     not one bit was dropped; no checksum was bad.
   At last he was finished and wearily sighed

Twas the Night Before Start-up


     and turned to explain why the system had died.
   I twisted my fingers and counted to ten;
     an off-by-one index had done it again...

   Vint Cerf
   December 1985

ISO Plain Language

On this page
PROBLEMA new network can fail to move packets even when its components and protocols appear to be in place.
MECHANISMThe poem describes an experienced engineer checking alarms, protocols, and a suspect line before the narrator discovers an off-by-one index error.
THE STORYThe memo presents network startup and troubleshooting as a humorous poem, ending with a simple indexing mistake.

§1The Failed Network Startup

The poem begins on the night before startup, when no packet is moving and the engineers are worried. The narrator has diagnostic traces and dumps ready while expecting a difficult failure.

An experienced ARPANET hacker arrives and begins checking alarms and network components.

The network is due to start, but packets are not moving. The poem describes the engineers' concern before a troubleshooter begins work.

§2Systematic Troubleshooting

The poem lists LAPB, OSI, X.25, TCP, SNA, and V.35 as the troubleshooter checks the system. It describes a patch to a suspect line, after which the network comes up and packets flow.

The poem then says the protocols matched, hosts interfaced, shift registers latched, and the tests from gateway to PAD passed.

The troubleshooter checks components and protocols in turn, finds a suspect line, and applies a patch. The poem reports that the network then passes its checks.

§3The Off-by-One Ending

After the network appears to work, the narrator asks why the system had died. The poem ends by saying an off-by-one index in the narrator's code had caused the problem again.

The conclusion turns the apparent network-wide crisis into a counting error in the narrator's own code.

The final cause is an off-by-one index in the narrator's code. The poem ends by making the simple mistake the punch line.