HeadlinesBriefing favicon HeadlinesBriefing.com

VAX Processor’s Faulty FPE Bug Stalls Perl on OpenBSD

Hacker News •
×

The 1977 VAX architecture, a 32‑bit machine lacking out‑of‑order execution and cache, introduced a simple exception model that oddly proved fragile for modern software.

In VAX, a trap ends execution while a fault allows recovery; division‑by‑zero triggers a SIGFPE. The kernel’s handling of ignored FPEs can trap programs in endless loops, a flaw unseen on newer CPUs.

In April 2002, Todd Miller discovered that compiling Perl 5.8 on OpenBSD’s VAX platform caused the miniperl bootstrap to spin indefinitely, revealing the ignored‑SIGFPE bug. The issue stemmed from the kernel repeatedly delivering the signal even when the process had requested to ignore it.

Later debugging showed that the VAX architecture backs the PC to the faulting instruction, so without a handler the program never advances. Fixing the kernel to stop re‑sending SIGFPE when ignored resolved the Perl build failure, restoring compatibility for VAX users.