Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

"god check" failure #5

Open
shadowhand opened this issue Oct 14, 2009 · 6 comments
Open

"god check" failure #5

shadowhand opened this issue Oct 14, 2009 · 6 comments

Comments

@shadowhand
Copy link

Running "god check" results in:


using event system: netlink
starting event handler
forking off new process
forked process with pid = 3550
killing process
[fail] never received process exit event

The god log also says that events are not supported. However, "lsmod |grep cn" shows that it is loaded. It seems to me that god is incorrectly thinking that events are not supported on my system, or the documentation is incorrect.

Using Arch Linux, kernel 2.6.24-xen on Slicehost.

@notch8
Copy link

notch8 commented Nov 26, 2009

there is some reason that the 2.6.24-xen kernels CN module just will not work with god. Can't really get good debugging information about it. However if you upgrade your kernel it will then work. Specifically on Slicehost you can upgrade your kernel through the slice manager.

@shadowhand
Copy link
Author

Using kernel 2.6.31 works. Now I have a separate issue with using Ruby 1.9.1, but will investigate that separately. Thanks!

@rkistner
Copy link

I'm having the same issue, my system configuration is the following:

Ubuntu 8.04
Kernel 2.6.24-24-server
ruby 1.9.1p376
god 0.11.0

Trying to stop a process with god causes god to hang and use 100% CPU.

I'm not able to upgrade my kernel at the moment, so I guess I'll have to stick to polling for now.

@rkistner
Copy link

Using polling did not solve my issue. When I try to stop my watches, god almost always hangs on one of the processes, with the following being logged:

INFO: xxx stop: default lambda killer
INFO: xxx sent SIGTERM
INFO: xxx process stopped

God freezes (with 100% cpu usage) right after outputting "process stopped". When only stopping single watches, it often works without saying "process stopped". However, it always hangs when "process stopped" is in the output.

For now my workaround is to use:

w.stop = lambda { w.signal(3) }

For some reason this solves the issue.

@ameuret
Copy link

ameuret commented Sep 12, 2012

Having cn loaded is not enough. You have to make sure that your kernel was compiled with CONFIG_PROC_EVENTS enabled.

Sadly this is not the case for example on the current Amazon Linux Image.

EDIT: As of the March 2013 release, the Amazon Linux Image is configured to fully support the process events.

@chetan
Copy link

chetan commented Nov 26, 2014

To followup on what @ameuret said, connector support (cn) must be built-in to the kernel, and not as a module in order to enable PROC_EVENTS. Basic netlink support is still available so God will compile correctly but will not work (god check fails) since process events are missing.

Specifically, the following should be in your kernel config:

CONFIG_CONNECTOR=y
CONFIG_PROC_EVENTS=y

I ran into this issue on Raspbian where connector support is built as a module and so process events are unavailable.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants