[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Hello / CLISP flying into outer space ? :-)
>>>>> "Erann" == Erann Gat <email@example.com> writes:
Bruno> Maybe reliability is more an issue than speed.
Yeah, I've got some features I've been subconciously avoiding. On
IRIX 5.3 I've had problems with hash-tables of compiled-closures
(after hours of runtime). On NEXTSTEP m68k, I've had crashes with
various "big things" like multimegabyte bit vectors and
hash-tables. This last one (m68k) seems to be specific to generational
GC. I can't remember a crash on Linux that didn't turn out to be
either Linux mmap bugs or C compiler bugs. I can't remember any
non-generational-GC CLISP/Linux crashes at all.
With CMU-CL on IRIX 5.3, without optimization.. for that matter
without compiling. I've found crashes are more frequent than with any
configuration of CLISP I've used.
Bruno> Just imagine the embarassement if the software dumps core while
Bruno> running for real in outer space...
Erann> Actually, that's not necessarily a fatal problem. By using a
Erann> watchdog timer the system can be made to automatically reboot
Erann> if it hangs.
Check out some space shuttle television coverage! NASA has got great
catch-phrases like "power cycle the persistent copy telecommunications
system" (translation: flip the power switch on the fax machine).
But seriously, you could install a core-dump handler to also write
.mem files. And/or always run the system under a GDB debugging stub
(something I should get in the habit of doing).
Erann> The main obstacle to actually flying CLisp is that the source
Erann> code is just so *huge*, and has so many nested ifdefs that it's
Erann> nearly impossible to figure out what is going on. The V&V
Erann> (verification and validation) people are going to go seriously
Erann> nonlinear when they see it.
One could write a batch program to unifdef the sources (per
specified platform), and build a "CLISP-lite".
Such a tool might be helpful for people doing new ports.