Thanks Eric. New strace capture as follows:
$ sudo strace -f -e '!futex' -p 14255
Process 14255 attached with 12 threads - interrupt to quit
[pid 14322] restart_syscall(<... resuming interrupted call ...> <unfinished
...>
[pid 14271] restart_syscall(<... resuming interrupted call ...> <unfinished
...>
[pid 14267] accept(12, <unfinished ...>
[pid 14264] restart_syscall(<... resuming interrupted call ...> <unfinished
...>
[pid 14255] select(6, [5], NULL, NULL, {42, 86504} <unfinished ...>
[pid 14322] <... restart_syscall resumed> ) = -1 ETIMEDOUT (Connection timed
out)
[pid 14271] <... restart_syscall resumed> ) = -1 ETIMEDOUT (Connection timed
out)
[pid 14264] <... restart_syscall resumed> ) = -1 ETIMEDOUT (Connection timed
out)
[pid 14262] --- SIGUSR2 (User defined signal 2) @ 0 (0) ---
[pid 14262] rt_sigreturn(0x20) = 202
The last two lines do not say much for the event. :(
-----Original Message-----
From: Eric Wong [mailto:[email protected]]
Sent: Friday, March 09, 2012 2:24 PM
To: unicorn list
Cc: Yeung, Jeffrey
Subject: Re: Unicorn_rails ignores USR2 signal
"Yeung, Jeffrey" <[email protected]> wrote:
> $ ruby -v
> ruby 1.9.1p376 (2009-12-07 revision 26041) [x86_64-linux]
>
> The Rails gem version is 2.3.14. Unicorn gem version 4.2.0.
> I have done my best to debug it using strace and the stderr logs. The
> unicorn_rails master process handles HUP, QUIT, and USR1 signals as
> expected, no problems. However, the USR2 signal is being completely
> ignored.
> While monitoring the master with strace, there are no calls observed
> when sending a kill -USR2. Nothing is logged to STDERR when sending
> this signal, either.
Really strange, especially since other signals seem to work...
Since you're on Ruby (>= 1.9.0 && < 1.9.3), are you stracing with -f?
If you're not already, try using: strace -f -e '!futex'
1.9.x versions use a dedicated timer thread to accept signals, so you won't see
system signal handlers in the VM without "strace -f".
The "-e '!futex'" filters out the noise from the polling wakeup in
<1.9.3 versions of Ruby.
Can you try Ruby 1.9.3? The signal handling got completely reworked (for the
better) and you won't need "-e '!futex'"
_______________________________________________
Unicorn mailing list - [email protected]
http://rubyforge.org/mailman/listinfo/mongrel-unicorn
Do not quote signatures (like this one) or top post when replying