diary at Telent Netowrks

Control stack exhaustion is still in a state of "pretty much"#

Mon, 22 Jul 2002 13:31:04 +0000

Control stack exhaustion is still in a state of "pretty much" (i.e. "not") working. This past weekend was more or less the deadline for commits for the next SBCL release (0.7.6) so I thought I had better try it on something other than an x86 Linux box. First step, the Alpha. That worked OK, so, FreeBSDeers, prepare for battle.

(Why FreeBSD? There's one in the sourceforge build farm. The sourceforge build farm is sucky in entirely numerable ways, but at least it's there).

First hurdle: it uses SIGBUS instead of SIGSEGV for writes on unmapped pages. That's easy enough. Second problem, some screwup with overlapping mmaps that really ought not to (defining a signal stack in the middle of the dynamic space is bad, ok?). Third problem: the second time you hit the guard page, you get a SIGBUS followed immediately (before the sigbus handler runs, even) by a SIGILL. I don't know why.

Funniest URL of the day: this bit from the FreeBSD Developer's Handbook.

While a typical Windows application is attempting to do everything imaginable (and is, therefore, riddled with bugs), a typical Unix program does only one thing, and it does it well.

Sure. So I imagined cat -s and ls -C, or are they not typical Unix programs?