This message includes a little background, so please read on...
I've been beating my head against a wall for the past two days trying to
figure out why a perl CGI wasn't running. It turns out that it was being
killed automatically by the process creator (Process.create_process) in
the CGI module. Despite giving it quite generous (basically unlimited)
limits, it was still being stomped on.
I commented out the following code (options is passed to
Process.create_process):
if(limits)
options->rlimit=limits;
And now everything is working as it should. I don't know what the problem
might be, but it was a simple perl script (I pared it down to test), and
the line that seemed to make the difference between working and not was:
use Sybase::CTLib;
First, I think something's funny with the limits support if this simple
program was getting killed. Second, has anyone else had similar problems?
The rlimit in question looks like this:
"rlimit":([ /* 3 elements */
"core":0,
"cpu":60,
"nofile":64
])
This program runs in about 1 second from the command line. Also, FWIW,
this problem is present in Caudium 1.2 (pike 7.2) and 1.3 (7.4).
Any thoughts?
Bill