After several days of debugging a dial-up server that was experiencing an unacceptable number of dropped calls, I traced the problem to a home-grown authentication mechanism that depended on the text representation of the running getty
's PID. The getty
would generate an error and abort if its PID contained an even number followed by a 9, causing the call to drop and the getty
to respawn with a new PID.
After the problem was identified, I was taken off the project and later discovered that the "fix" was to change the numeric-to-text conversion from
sprintf(strval, "%d", pid);
to
sprintf(strval, "%o", pid);
Rather than troubleshooting the authentication routine, someone chose to convert the PID to octal, making it impossible to contain a 9!