my site was working great when suddenly, I got a "Temporarily unavailable" message. The pcgi.log reads:
unexpected out-of-bound data in stdin t[0]=60
Usually this means that the Zope process is unable to start up for some reason (an import error, syntax error, etc.). I'm not sure how changing DTML document objects could cause this, though. You didn't happen to change any DTML that is read from the disk (e.g., HTMLFile objects used from Zope, installed products or external methods) did you? If so, there is probably a dtml syntax error that is being raised at startup time.
You are positively right. I stupidly wrote <!--#var "some_method(var0=value0, REQUEST)"--> notice the non-named parameter after a named parameter.
I haven't tried it yet with other publishing mechanisms (ZServer, ZopeHTTPServer, which don't use PCGI), but if these servers also dies for such oddities, this might be a bug in error handling. Stay tuned for more informations.
This is a known problem, already in the python TODO file. I don't know if the new version (python 1.5.2b2) solves the problem. However, the python TODO list reads: 3.4. sequential arg after kw arg generates bad code w. warnings For example:
def desc(*args, **kw): pass
desc(1,2,'foo',x=None,desc) <stdin>:1: underflow! nexti=27, level=6, n=7 <stdin>:1: underflow! nexti=28, level=0, n=1 SyntaxError: non-keyword arg after keyword arg
This explains why <!--#var "some_method(var0=value0, REQUEST)"--> shoots pci_handle which don't expect the "<stdin>:1:underflow..." lines. Regards, Jephte CLAIN Service Informatique CHSR