Multics > People > Stories
09 Mar 1995

Hodie Natus Est Radici Frater

Multics Close ⊗

Tom Van Vleck, Bernie Greenberg, Harry Quackenboss

Multicians Grady, Greenberg, Chang, Whitmore, Hunt in LISP class

Bernie Greenberg teaching LISP at CISL. Photo by THVV. Click for a larger view.

This is a story from 1976 or early 1977 that has gained some notoriety, even outside the Multics community, as the story of "that crazy Multics error message in Latin." The tale was somewhat distorted in the retelling: this version combines the recollections of three people who were directly involved.

The General Motors Multics site was installing the New Storage System (NSS) for the first time, so this was MR 4.0, first available in July 76. They were desperately out of disk space and wanted to install NSS as soon as possible to be able to use more disks and more channels. Field Engineering had installed more disk drives and increased the number of disk controllers and disk strings.

Harry writes:

"We started this exercise at late Friday evening, intending to have the new reconfigured system up by Saturday morning. By the time we had done a full tape backup, it was 3 AM or so. Then field engineering went through the process of recabling the disk configuration to install the new disk controllers and disks. We then installed the new version of Multics, including NSS -- now about 4 AM, Detroit time. By this time we were all pretty tired, so we made some small mistakes along the way, but got it installed about 5 or 6 AM.

The BOOT command produced the message


and would not produce a dump. I said 'anybody went to Roman Catholic school?' and Fred Zemmin spoke up. His translation was 'something about the root has a brother.'

We asked everyone including the field engineers to double check their work, & tried again with same result.

At about 6 or 7 AM Boston time (one hour ahead) I called THVV at home (woke him up) and I remember him distinctly to this day saying 'oh, that's Bernie's message which says today is born the brother of the root.' I remember THVV's explanation that this occurred as the OS was checking logical paths to the Root Logical volume.

With this, I asked the field engineers to check their work. They spent an hour or so scurrying about and then said to try it again. I never did learn what they changed, but when we re-tried it, the system came up and we turned over to GM for production."

The message does indeed mean "today unto the Root a brother is born." Bernie Greenberg says, "The intended reference was to the Christmas antiphon Hodie Christus natus est, Salvator apparuit, but, indeed, the Isaiah verse quoted by Handel (Messiah was never in my mind) and other places 'Unto us a child is born...&c' was in my mind." Bernie wrote the code that produced the error message: he's a fantastic musician and interested in Latin.

The code was in the BOS utility SSTN, which understood the AST and produced VTOCE names, invoked at recovery time. Bernie says: "The case was that the stack-oriented, recursive code in BOS (no stack! all done by hand!) found it had a brother pointer yet to process at the bottom of the tree when it was finished." This was some remarkable hair to have in the dump program, which had to be rock-solid reliable at crash time, and I (THVV) remember not feeling right about having this info in BOS, because it would be hard to keep synchronized with the running release, but the results were sure nice: the dump stack frames were labeled with correct segment names, even for things that didn't come off the boot tape. Remember BOS was written in Multics assembler (ALM) and ran in a non-PL/I environment, and if the AST declaration changed you had to do all kinds of extra processing to generate a new ALM include file from the PL/I include file, and then regenerate BOS DUMP.

THVV's early-morning guess at the cause of the problem was wrong, although it got the FEs to change something that fixed the problem; Bernie explains: "What had really happened was that the SST was not initialized because the system crashed too early, and it picked up a garbage pointer for the Root ASTE and picked up one of the eight words of -1 as a 'brother pointer', and said that. The real bug was not checking for 'SST not initialized.'" The code was in a "can't happen" case, which was why it was left in shipping code. The only way the message could come out was if there was a program bug, or if the hardware was broken (which it was).

Another Occurrence of the Same Problem

Ed Ranzenbach writes:

I was reading the story of HODIE NATUS EST RADICI FRATER. GM wasn't the only site to experience this. This happened to me in 1977 as well. I was the Site SA at RADC and this was my first release installation. We too were adding new 450 disk drives to our string and I made an error in the sequence of formatting/partition creation. Somehow we ended up with two roots, although we didn't know it at the time. Don Perna was my boss back then and was the senior Site SA. When I typed in the boot command


Appeared on the operator's console and the system just sat there. It was a Sunday night and Don tried to get a hold of somebody at CISL. I don't know who he got a hold of but they said they'd never seen this before. They did their best to help. We re-booted several times but with the same result each time. I had taken Latin in grade school (Catholic altar boy) and Don and I did our best to translate the message but we still had no clue as to what was going on.

We went to the boot CPU and opened it up and it was in this tight loop. We interrupted and paused it then stepped it through the loop. As I remember, it was only about 7 our 8 instructions but one of them was an address fetch. We copied down the 72 bit memory address and started looking at some old core dumps (yes, we saved paper core dumps, about the last five or so) from the previous release and worked all night. We never figured it out. Finally, on Monday morning I think it was Tom Casey that called and explained what was going on. We started the release installation from scratch for the Nth time and this time got the partition creation/formatting sequence correct and all was well.

04/26/93, Updated 02/17/95, 03/09/95
Added Ed Ranzenbach's story 3/23/16

David Mery posted an interesting story about another Multics error message by Bernie on 14 Nov 2007: "Multics source reveals le jetteur des gazongues".