lighttpd/moinmoin/fastcgi: child exited with status 127 - update
Rainer Schwarze
rsc at admadic.de
Fri Aug 12 20:02:11 UTC 2011
Hi,
I solved part of my problem. It looks like python is not found during
jail startup - I'd assume PATH is incorrectly set. When I change my
moin.fcgi script's shebang line, it works:
moin.fcgi:
#!/usr/local/bin/python
# old:
# !/usr/bin/env python
...
Since it works now, I conclude that env can't find python in the PATH.
Tomorrow I will go searching where this gets defined and until then this
little fix will have to do :-) (time to clean up my changes in the
lighttpd sources and do a fresh build...)
best regards,
Rainer
On 8/11/2011 10:19 PM, Rainer Schwarze wrote:
> On 8/11/2011 7:35 PM, Olivier Duchateau wrote:
>> Hi,
>>
>> MoinMoin wiki is written in Python, so lighttpd must be configured
>> either wscgi (fastcgi) or cgi.
>
> Hi,
>
> fastcgi is activated and does work.
>
> I spent some more time on that and looked into the sources and inserted
> some debug output statements (error.log and code snippet below). I'd say
> that during manual start 6 child processes are started, during jail
> startup only 1 is started. The line "xxx child 4" is written just before
> the call to execve which starts the cgi. The line "xxx child 5" does not
> appear - it would, if execve would return - so that seems ok.
>
> The lines "child 6" and "child 7" are written before the call to
> waitpid. They appear only once, so I guess, the first child fails. (in
> contrast to a second child causing errors)
>
> My next steps will be to look into the moin.fcgi script and try to add
> some debugging statements. I'd assume that this goes belly up at some
> point. However, maybe in a few hours - for now I have to get back to the
> work which pays my bills :-)
>
> Does this provide some hints where my problem could be?
>
> Thanks and best regards,
> Rainer
>
>
> The error.log:
>
> ( -------- when jail starts: ------------)
> 2011-08-11 19:55:35: (log.c.166) server started
> 2011-08-11 19:55:35: (mod_fastcgi.c.1098) xxx child 6
> 2011-08-11 19:55:35: (mod_fastcgi.c.1007) xxx child 1
> 2011-08-11 19:55:35: (mod_fastcgi.c.1015) xxx child 2
> 2011-08-11 19:55:35: (mod_fastcgi.c.1076) xxx child 3
> 2011-08-11 19:55:35: (mod_fastcgi.c.1079) xxx child 4
> 2011-08-11 19:55:35: (mod_fastcgi.c.1101) xxx child 7
> 2011-08-11 19:55:35: (mod_fastcgi.c.1114) the fastcgi-backend
> /usr/local/www/wiki/admadic/moin.fcgi failed to start:
> 2011-08-11 19:55:35: (mod_fastcgi.c.1118) child exited with status 127
> /usr/local/www/wiki/admadic/moin.fcgi
> 2011-08-11 19:55:35: (mod_fastcgi.c.1121) If you're trying to run your
> app as a FastCGI backend, make sure you're using the FastCGI-enabled
> version.
> If this is PHP on Gentoo, add 'fastcgi' to the USE flags.
> 2011-08-11 19:55:35: (mod_fastcgi.c.1409) [ERROR]: spawning fcgi failed.
>
>
> The source snippet from mod_fastcgi.c:
>
> ...
> /* father */
> /* wait */
> log_error_write(srv, __FILE__, __LINE__, "s", "xxx child 6");
> select(0, NULL, NULL, NULL, &tv);
> log_error_write(srv, __FILE__, __LINE__, "s", "xxx child 7");
> switch (waitpid(child, &status, WNOHANG)) {
> case 0:
> /* child still running after timeout, good */
> log_error_write(srv, __FILE__, __LINE__, "s", "xxx child 8");
> break;
> case -1:
> /* no PID found ? should never happen */
> log_error_write(srv, __FILE__, __LINE__, "ss", "pid not found:",
> strerror(errno));
> return -1;
> default:
> log_error_write(srv, __FILE__, __LINE__, "sbs",
> "the fastcgi-backend", host->bin_path, "failed to start:");
> /* the child should not terminate at all */
> if (WIFEXITED(status)) {
> log_error_write(srv, __FILE__, __LINE__, "sdb",
> "child exited with status",
> WEXITSTATUS(status), host->bin_path);
> log_error_write(srv, __FILE__, __LINE__, "s",
> "If you're trying to run your app as a FastCGI backend, make sure
> you're using the FastCGI-
> enabled version.\n"
> "If this is PHP on Gentoo, add 'fastcgi' to the USE flags.");
> ...
>
>
>
>
> thanks and best regards,
> Rainer
>
>>
>> 2011/8/11 Rainer Schwarze <rsc at admadic.de>:
>>> On 8/11/2011 3:31 AM, Sahil Tandon wrote:
>>>> On Wed, 2011-08-10 at 23:27:25 +0200, Rainer Schwarze wrote:
>>>>
>>>>> I want to run a moinmoin wiki in a jail via lighttpd. When I start the
>>>>> jail, lighttpd logs an error and stops. When I run it manually, it
>>>>> starts without problems and I can access the wiki in the browser.
>>>>>
>>>>> It looks like there are certain differences between starting when the
>>>>> jail starts and starting manually. Which of those would influence this
>>>>> issue? Can you give me any hints where I should start looking? (I asked
>>>>> google but didn't get useful results.)
>>>>
>>>> What is the output of the following command, inside the jail, as the
>>>> user that runs lighttpd?
>>>>
>>>> % php-cgi -v
>>>
>>> srvks# php-cgi -v
>>> php-cgi: Command not found.
>>>
>>> :-) php is not needed there (at least I hope so).
>>>
>>>>
>>>>> 2011-08-10 20:54:54: (mod_fastcgi.c.1108) child exited with status 127
>>>>> /usr/local/www/wiki/admadic/moin.fcgi
>>>>
>>>> Without more information, my WAG is that certain files (libraries,
>>>> perhaps) used by fcgi cannot be found by lighttpd from inside the jail.
>>>
>>> The confusing part is, I can start it in the jail manually with
>>>
>>> /usr/local/etc/rc.d/lighttpd start
>>>
>>> So all the required things should be there.
>>>
>>> Are there any debug flags which I could activate to get more output from
>>> lighttpd? I probably don't need those which log requests etc. There
>>> don't seem to be any as command line parameter?
>>>
>>> best regards,
>>> Rainer
>>> --
>>> Rainer SCHWARZE (Mr.)
>>> _______________________________________________
>>> freebsd-ports at freebsd.org mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
>>> To unsubscribe, send any mail to "freebsd-ports-unsubscribe at freebsd.org"
>>>
>>
>>
>>
>
--
Rainer SCHWARZE (Mr.)
More information about the freebsd-ports
mailing list