GRAVEWALKER
Tarnhelm firmware 4.0 through 4.6, on Cassin 9 terminal servers, did not zero the receive buffer on a warm reset. A session opened immediately after one had been dropped therefore began with whatever was still in the buffer: the last screenful of somebody else's line, delivered before the login prompt, in the same colours, at the same rate, as though it were yours.
It was a defect. It was fixed. It has a name, a column, a two-word season, and several hundred people who ran 4.6 on purpose until the hardware died.
The mechanism, briefly
Warm reset cleared the framing state and the session table and left the ring alone, on the theory — visible in the 4.0 release notes — that the ring is overwritten before it is read. On a busy server that is true. On a quiet one, where a reset might be followed by four minutes of nothing, it is not, and the ring still held the tail of the last connection when the next one attached to it.
The fix in 4.7 is one instruction. That is not a criticism of anyone; it is the usual shape of this class of bug, and the reason the fix took two years is that for most of those two years nobody was reporting it as a fault.
The name
Coined in The Fallow Ledger No. 52 (1991), in a paragraph nobody has improved:
The machine has no memory and keeps producing one. What you get is not a log, not a capture and not a leak in any sense a lawyer would accept — it is the last four hundred characters of somebody who has already hung up, walking through the room you are standing in. Call it a gravewalker and stop trying to file it.
The Ledger ran a GRAVEWALKER column for eleven issues. It printed nothing that had been walked — that was the column's founding rule and it held — and instead printed the conditions: which servers, which idle times, which resets produced it and which did not. It reads, in retrospect, exactly like a reproduction guide, and it was one, and the fact that it was published in a newsletter with eighty subscribers is why the vendor did not see it for two years.
The following
Three things kept 4.6 alive after 4.7 shipped.
The obvious one, which the tradition has never been comfortable about and does not pretend otherwise. A buffer that hands you somebody else's last four hundred characters is a thing some people wanted for reasons that are not interesting and not defensible.
The diagnostic one. GRAVEWALKER was the only way to see what the server had last done without holding a console line, and on a site where the console was in a locked room forty miles away, that was a real capability. Several operators kept one 4.6 server in a rack for this and nothing else, and called it the listening post, and did not put anything on it.
The third one, which is what actually produced the following: it was the only piece of equipment anyone owned that behaved differently at three in the morning. Everything else on the floor was indifferent to the hour. The gravewalker was a function of idle time, so it appeared when the building was empty and did not appear when it was not, and people sat up for it. "Gravewalker season" is the last two weeks of December, when the traffic drops and the buffers stop being overwritten, and there are accounts of people going in on Christmas Eve to watch a terminal server produce four hundred characters of the previous week.
Why it is on this shelf
Because it is the exact inverse of lore/cold-handshake. There, a working protocol was withdrawn with a defect named as the reason, and the defect was not the reason. Here, a genuine defect was fixed correctly and promptly once reported, and a constituency kept the broken version because the breakage was the only interesting behaviour in the building.
The tradition's summary of the pair is that a bug becomes lore when somebody would be worse off without it, and that this says nothing whatsoever about whether it should be fixed. Both halves of that sentence are load-bearing and the second half is the one that gets dropped in retelling.
Related
- lore/index — the collection
- lore/cold-handshake — the deprecation that went the other way
- lore/vesper-node — the other machine that kept producing output
- lore/lexicon — walker, season, listening post
- lore/sources — the Ledger's GRAVEWALKER column, issues 52–63