FAQ
hi!

recently I've put a catalyst website into production using the
following config:

- apache 2 + fastcgi running in external mode
- 1 fastcgi manager with 2 catalyst childs

the problem is that randomly, twice a day, the fastcgi manager shuts
itself down. the only thing that appears on apache log is "FastCGI:
server (pid 8122): safe exit after SIGTERM".

To dig more, I put the manager, and both the catalyst children under
strace and found this:

- the first child (8121) receives a SIG_PIPE, and shuts down

8121 18:17:20 write(4, "\1\6\0\1\26J\6\0\"POST\">\n\t\t\t\t\t<input
type"..., 5744) = -1 EPIPE (Broken pipe)
8121 18:17:20 --- SIGPIPE (Broken pipe) @ 0 (0) ---

(probably the client closed the connection earlier? I have no more
data on strace about this process 8121, so it really ends here)

- the manager (8120) sees the child dying (8121) and kills the other
child (8122)

8120 15:42:58 waitpid(-1, [{WIFSIGNALED(s) && WTERMSIG(s) ==
SIGPIPE}], 0) = 8121
8120 18:17:20 --- SIGCHLD (Child exited) @ 0 (0) ---
8120 18:17:20 write(2, "FastCGI: manager (pid 8120): ser"..., 69) = 69
(...)
8120 18:17:20 kill(8122, SIGTERM) = 0
8120 18:17:20 waitpid(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}],
0) = 8122
8120 18:17:21 --- SIGCHLD (Child exited) @ 0 (0) ---

after this it shuts itself down too...

(...)
8120 18:17:21 exit_group(0)

Any hint here? Can you point me here's the problem? My bet is that
the manager shouldn't abort when a child dies, or maybe catalyst
dying on the SIG_PIPE is a bad behavior (or bug).

Please advice me. Thank you

R?ben

Search Discussions

  • Matt S Trout at Dec 24, 2007 at 7:04 pm

    On Sun, Dec 23, 2007 at 11:35:10PM +0000, Ruben Fonseca wrote:
    hi!

    recently I've put a catalyst website into production using the
    following config:

    - apache 2 + fastcgi running in external mode
    - 1 fastcgi manager with 2 catalyst childs

    the problem is that randomly, twice a day, the fastcgi manager shuts
    itself down. the only thing that appears on apache log is "FastCGI:
    server (pid 8122): safe exit after SIGTERM".

    To dig more, I put the manager, and both the catalyst children under
    strace and found this:

    - the first child (8121) receives a SIG_PIPE, and shuts down

    8121 18:17:20 write(4, "\1\6\0\1\26J\6\0\"POST\">\n\t\t\t\t\t<input
    type"..., 5744) = -1 EPIPE (Broken pipe)
    8121 18:17:20 --- SIGPIPE (Broken pipe) @ 0 (0) ---

    (probably the client closed the connection earlier? I have no more
    data on strace about this process 8121, so it really ends here)

    - the manager (8120) sees the child dying (8121) and kills the other
    child (8122)
    I suspect you're running an out of date FCGI::ProcManager; this looks like
    you're hitting a bug that's fixed in the latest release.

    --
    Matt S Trout Need help with your Catalyst or DBIx::Class project?
    Technical Director http://www.shadowcat.co.uk/catalyst/
    Shadowcat Systems Ltd. Want a managed development or deployment platform?
    http://chainsawblues.vox.com/ http://www.shadowcat.co.uk/servers/

Related Discussions

Discussion Navigation
viewthread | post
Discussion Overview
groupcatalyst @
categoriescatalyst, perl
postedDec 23, '07 at 11:35p
activeDec 24, '07 at 7:04p
posts2
users2
websitecatalystframework.org
irc#catalyst

2 users in discussion

Matt S Trout: 1 post Ruben Fonseca: 1 post

People

Translate

site design / logo © 2022 Grokbase