gearmand 0.31 does not exit properly
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Gearman |
Fix Released
|
Low
|
Brian Aker |
Bug Description
Gearmand does not exit properly and can only be killed with -9
Tested with release 0.31:
%> gearmand --port=54730 --verbose=DEBUG --log-file=
%> kill <pid>
%> tail /tmp/gearmand.log
DEBUG 2012-03-09 16:17:43.864337 [ main ] Received SHUTDOWN wakeup event -> libgearman-
INFO 2012-03-09 16:17:43.864419 [ main ] Clearing event for listening socket (7)
INFO 2012-03-09 16:17:43.864451 [ main ] Clearing event for listening socket (8)
DEBUG 2012-03-09 16:17:43.864475 [ main ] Clearing event for wakeup pipe -> libgearman-
DEBUG 2012-03-09 16:17:43.864502 [ main ] Exited main event loop -> libgearman-
DEBUG 2012-03-09 16:17:43.864525 [ main ] shutting down Epoch thread -> libgearman-
ERROR 2012-03-09 16:17:43.864610 [ main ] poll(Interrupted system call) -> libgearman-
process still running and cannot be stoped.
strace till the kill -9:
[pid 12536] clock_gettime(
[pid 12536] epoll_wait(26, <unfinished ...>
[pid 12535] clock_gettime(
[pid 12535] epoll_wait(21, <unfinished ...>
[pid 12534] clock_gettime(
[pid 12534] epoll_wait(16, <unfinished ...>
[pid 12533] futex(0x852e478, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
[pid 12532] clock_gettime(
[pid 12532] epoll_wait(11, <unfinished ...>
[pid 12531] restart_
[pid 12530] futex(0xb756dbd8, FUTEX_WAIT, 12531, NULL <unfinished ...>
[pid 12531] <... restart_syscall resumed> ) = 0
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
[pid 12531] gettimeofday(
[pid 12531] poll([{fd=0, events=0}], 1, 1000 <unfinished ...>
[pid 12533] +++ killed by SIGKILL +++
PANIC: handle_group_exit: 12533 leader 12530
[pid 12534] +++ killed by SIGKILL +++
PANIC: handle_group_exit: 12534 leader 12530
[pid 12532] +++ killed by SIGKILL +++
PANIC: handle_group_exit: 12532 leader 12530
[pid 12531] +++ killed by SIGKILL +++
PANIC: handle_group_exit: 12531 leader 12530
[pid 12536] +++ killed by SIGKILL +++
PANIC: handle_group_exit: 12536 leader 12530
[pid 12535] +++ killed by SIGKILL +++
PANIC: handle_group_exit: 12535 leader 12530
+++ killed by SIGKILL +++
Changed in gearmand: | |
milestone: | none → 0.32 |
Changed in gearmand: | |
status: | Fix Committed → Fix Released |
What platform is this?
On Apr 9, 2012, at 9:25 AM, Sven Nierlein wrote:
> Public bug reported: /tmp/gearmand. log server/ gearmand. cc:856 server/ gearmand. cc:790 server/ gearmand. cc:348 server/ timer.cc: 98 server/ timer.cc: 71 CLOCK_MONOTONIC , {4463959, 119626270}) = 0 CLOCK_MONOTONIC , {4463959, 119771609}) = 0 CLOCK_MONOTONIC , {4463959, 119881609}) = 0 CLOCK_MONOTONIC , {4463959, 120060682}) = 0 syscall( <... resuming interrupted call ...> <unfinished ...> {1333988304, 903333}, NULL) = 0 {1333988305, 904622}, NULL) = 0 {1333988306, 904898}, NULL) = 0 {1333988307, 906221}, NULL) = 0 {1333988308, 907483}, NULL) = 0 {1333988309, 909993}, NULL) = 0 {1333988310, 911298}, NULL) = 0 {1333988311, 912757}, NULL) = 0 {1333988312, 914078}, NULL) = 0 {1333988313, 915392}, NULL) = 0 {1333988314, 916711}, NULL) = 0
>
> Gearmand does not exit properly and can only be killed with -9
>
> Tested with release 0.31:
>
> %> gearmand --port=54730 --verbose=DEBUG --log-file=
> %> kill <pid>
> %> tail /tmp/gearmand.log
> DEBUG 2012-03-09 16:17:43.864337 [ main ] Received SHUTDOWN wakeup event -> libgearman-
> INFO 2012-03-09 16:17:43.864419 [ main ] Clearing event for listening socket (7)
> INFO 2012-03-09 16:17:43.864451 [ main ] Clearing event for listening socket (8)
> DEBUG 2012-03-09 16:17:43.864475 [ main ] Clearing event for wakeup pipe -> libgearman-
> DEBUG 2012-03-09 16:17:43.864502 [ main ] Exited main event loop -> libgearman-
> DEBUG 2012-03-09 16:17:43.864525 [ main ] shutting down Epoch thread -> libgearman-
> ERROR 2012-03-09 16:17:43.864610 [ main ] poll(Interrupted system call) -> libgearman-
>
> process still running and cannot be stoped.
>
> strace till the kill -9:
> [pid 12536] clock_gettime(
> [pid 12536] epoll_wait(26, <unfinished ...>
> [pid 12535] clock_gettime(
> [pid 12535] epoll_wait(21, <unfinished ...>
> [pid 12534] clock_gettime(
> [pid 12534] epoll_wait(16, <unfinished ...>
> [pid 12533] futex(0x852e478, FUTEX_WAIT_PRIVATE, 1, NULL <unfinished ...>
> [pid 12532] clock_gettime(
> [pid 12532] epoll_wait(11, <unfinished ...>
> [pid 12531] restart_
> [pid 12530] futex(0xb756dbd8, FUTEX_WAIT, 12531, NULL <unfinished ...>
> [pid 12531] <... restart_syscall resumed> ) = 0
> [pid 12531] gettimeofday(
> [pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
> [pid 12531] gettimeofday(
> [pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
> [pid 12531] gettimeofday(
> [pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
> [pid 12531] gettimeofday(
> [pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
> [pid 12531] gettimeofday(
> [pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
> [pid 12531] gettimeofday(
> [pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
> [pid 12531] gettimeofday(
> [pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
> [pid 12531] gettimeofday(
> [pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
> [pid 12531] gettimeofday(
> [pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
> [pid 12531] gettimeofday(
> [pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
> [pid 12531] gettimeofday(
> [pid 12531] poll([{fd=0, events=0}], 1, 1000) = 0 (Timeout)
...