Christoph-Simon Senjak css@uxul.de writes:
Am 02.09.2013 01:04, schrieb Ron Garret:
I'm about to put a CCL web app (using Hunchentoot) into production. Up to now I've been taking advantage of all the interactive goodness that the IDE offers, but of course that will mostly go away once the app is deployed. But it occurred to me that I could use the "screen" program to keep a REPL around for debugging the live app. My question is: is this a wise thing to do? Are there potential unexpected negative consequences of deploying an application this way? Security holes? Possible crashes? Has anyone tried this? This is one set of lessons I'd rather not learn the hard way.
Thanks, rg
On my blog (uxul.de) I did exactly this, with SBCL. However, I ran into the problem that if something elementary that Hunchentoot does not catch goes wrong (OOM, etc.), the REPL of SBCL will drop me into ldb, instead of just stopping (so I can restart it externally). As I do not know how to prevent this, I do not use the REPL anymore.
For what it's worth, you can disable it with this:
(sb-alien:alien-funcall (sb-alien:extern-alien "disable_lossage_handler" (function sb-alien:void)))
You can also build a version of SBCL with ldb omitted with some build-time configuration.
Zach