Issue #7141 has been updated by Dominic Cleal.

In case anybody else finds this issue, Red Hat released the following errata 
for RHEL 5.7 containing the fix: 
http://rhn.redhat.com/errata/RHSA-2012-0007.html

The minimum kernel version for the fix is kernel-2.6.18-274.15.1.el5.  I think 
the bug has only been reported in the EL5 kernels, not EL6.
----------------------------------------
Bug #7141: puppetd runs fail in 'daemon' mode when stat'ing /proc files
https://projects.puppetlabs.com/issues/7141

Author: Matt Wise
Status: Closed
Priority: High
Assignee: 
Category: file
Target version: 2.6.x
Affected Puppet version: 2.6.5
Keywords: 
Branch: 


I accidentally had a tree that Puppet was watching (auditing) with a few files 
that pointed to the /proc filesystem. Manual puppet runs worked perfectly, but 
background 'daemon' runs would hang. After a bit of stracing, I found that the 
hang started as soon as the puppet process tried to look at these /proc 
symlinked files. Again, manual puppet runs worked perfectly, but the daemon 
background runs are the ones that failed. Removing the symlinks solves the 
problem, but this is a bug of some kind.. I'm just not sure where. 

OS: CentOS 5.5
Puppet Ver: 2.6.5

<pre>
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
lstat("/apps/kickstart/rhel55-x64-generic/test/etc/mtab", 
{st_mode=S_IFLNK|0777, st_size=12, ...}) = 0
readlink("/apps/kickstart/rhel55-x64-generic/test/etc/mtab", "/proc/mounts"..., 
100) = 12
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
stat("/usr/lib/ruby/site_ruby/1.8/digest/md5.rb", 0x7fffa4070a00) = -1 ENOENT 
(No such file or directory)
stat("/usr/lib/ruby/site_ruby/1.8/digest/md5.so", 0x7fffa4070a00) = -1 ENOENT 
(No such file or directory)
stat("/usr/lib64/ruby/site_ruby/1.8/digest/md5.rb", 0x7fffa4070a00) = -1 ENOENT 
(No such file or directory)
stat("/usr/lib64/ruby/site_ruby/1.8/digest/md5.so", 0x7fffa4070a00) = -1 ENOENT 
(No such file or directory)
stat("/usr/lib64/ruby/site_ruby/1.8/x86_64-linux/digest/md5.rb", 
0x7fffa4070a00) = -1 ENOENT (No such file or directory)
stat("/usr/lib64/ruby/site_ruby/1.8/x86_64-linux/digest/md5.so", 
0x7fffa4070a00) = -1 ENOENT (No such file or directory)
stat("/usr/lib/ruby/site_ruby/digest/md5.rb", 0x7fffa4070a00) = -1 ENOENT (No 
such file or directory)
stat("/usr/lib/ruby/site_ruby/digest/md5.so", 0x7fffa4070a00) = -1 ENOENT (No 
such file or directory)
stat("/usr/lib64/ruby/site_ruby/digest/md5.rb", 0x7fffa4070a00) = -1 ENOENT (No 
such file or directory)
stat("/usr/lib64/ruby/site_ruby/digest/md5.so", 0x7fffa4070a00) = -1 ENOENT (No 
such file or directory)
stat("/usr/lib64/site_ruby/1.8/digest/md5.rb", 0x7fffa4070a00) = -1 ENOENT (No 
such file or directory)
stat("/usr/lib64/site_ruby/1.8/digest/md5.so", 0x7fffa4070a00) = -1 ENOENT (No 
such file or directory)
stat("/usr/lib64/site_ruby/1.8/x86_64-linux/digest/md5.rb", 0x7fffa4070a00) = 
-1 ENOENT (No such file or directory)
stat("/usr/lib64/site_ruby/1.8/x86_64-linux/digest/md5.so", 0x7fffa4070a00) = 
-1 ENOENT (No such file or directory)
stat("/usr/lib64/site_ruby/digest/md5.rb", 0x7fffa4070a00) = -1 ENOENT (No such 
file or directory)
stat("/usr/lib64/site_ruby/digest/md5.so", 0x7fffa4070a00) = -1 ENOENT (No such 
file or directory)
stat("/usr/lib/ruby/1.8/digest/md5.rb", 0x7fffa4070a00) = -1 ENOENT (No such 
file or directory)
stat("/usr/lib/ruby/1.8/digest/md5.so", 0x7fffa4070a00) = -1 ENOENT (No such 
file or directory)
stat("/usr/lib64/ruby/1.8/digest/md5.rb", 0x7fffa4070a00) = -1 ENOENT (No such 
file or directory)
stat("/usr/lib64/ruby/1.8/digest/md5.so", 0x7fffa4070a00) = -1 ENOENT (No such 
file or directory)
stat("/usr/lib64/ruby/1.8/x86_64-linux/digest/md5.rb", 0x7fffa4070a00) = -1 
ENOENT (No such file or directory)
stat("/usr/lib64/ruby/1.8/x86_64-linux/digest/md5.so", {st_mode=S_IFREG|0755, 
st_size=8776, ...}) = 0
open("/usr/lib64/ruby/1.8/x86_64-linux/digest/md5.so", O_RDONLY) = 8
close(8)                                = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
open("/apps/kickstart/rhel55-x64-generic/test/etc/mtab", O_RDONLY) = 8
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
select(9, [5 8], [], [], {0, 796826})   = 0 (Timeout)
select(9, [5 8], [], [], {0, 0})        = 0 (Timeout)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
select(9, [8], [], [], {0, 0})          = 0 (Timeout)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
select(9, [5 8], [], [], {2, 0})        = 0 (Timeout)
select(9, [5 8], [], [], {0, 0})        = 0 (Timeout)
select(9, [8], [], [], {0, 0})          = 0 (Timeout)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
select(9, [5 8], [], [], {1, 999999})   = 0 (Timeout)
select(9, [5 8], [], [], {0, 0})        = 0 (Timeout)
select(9, [8], [], [], {0, 0})          = 0 (Timeout)
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
select(9, [5 8], [], [], {1, 999998})   = 0 (Timeout)
select(9, [5 8], [], [], {0, 0})        = 0 (Timeout)
select(9, [8], [], [], {0, 0})          = 0 (Timeout)
...

</pre>


-- 
You have received this notification because you have either subscribed to it, 
or are involved in it.
To change your notification preferences, please click here: 
http://projects.puppetlabs.com/my/account

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Bugs" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/puppet-bugs?hl=en.

Reply via email to