On Thu, Feb 9, 2012 at 5:44 AM, Daniel Pittman <dan...@puppetlabs.com>
wrote:
> RedHat released some update kernels that reintroduced a bug from the
> 2.6.13 Linux kernel.  You can run any of the code in this gist to
> check if your kernel suffers that: https://gist.github.com/441278
>
> The C code is obviously a pretty good choice, as it excludes Ruby
> entirely from the problem space, and will confirm if that is your root
> cause.
>
> (The bug is that select on a file in /proc hangs for a long time,
> possibly forever, and Ruby will use select on a file if there are
> enough handles open.  This happens in some daemon configurations.)

Hi Daniel,

I tried the C code (with vda, instead of sda, as this is a VM using virtio)
and the result matched the "good" section of that url you pasted.

On stracing a hung puppetd run, I see infinite number of these:

select(0, NULL, NULL, NULL, {1, 0})     = 0 (Timeout)
gettimeofday({1328740663, 962461}, NULL) = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0

The process looks like this:

/usr/bin/ruby /usr/sbin/puppetd --pluginsync --ignorecache
--no-usecacheonfailure --onetime --no-daemonize --logdest syslog
--environment=production --server=puppet-server --report

Any other ideas?

- Gonzalo

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to