So this isn't a Puppet bug at all.

It looks to be a bug in the Ruby Timeout module that seems to be
triggered when most of your cores are busy.

I can reliably reproduce it by firing up openssl speed (n-1) times where
n is the number of cores and then using the Timeout module.

#!/usr/bin/ruby1.8
#

%x{/usr/bin/touch /tmp/7777}
puts "executed without timeout ok"

puts "executing with timeout"

require 'timeout'

status = Timeout::timeout(5) {
       %x{/usr/bin/touch /tmp/7777}
}

puts "executed with timeout ok"


which will produce something like:

r...@testhost:~# ps auxww|grep [o]penssl
root     22337 99.6  0.0  14616  2028 pts/6    R    15:04   2:52 openssl speed
root     22338 99.9  0.0  14616  2028 pts/6    R    15:04   2:49 openssl speed
root     22339  100  0.0  14616  2024 pts/6    R    15:04   2:49 openssl speed

r...@testhost:~# ~/tickle_ruby.rb 
executed without timeout ok
executing with timeout
/usr/lib/ruby/1.8/timeout.rb:60: execution expired (Timeout::Error)
        from /root/tickle_ruby.rb:11

r...@testhost:~# killall openssl
[1]   Terminated              openssl speed &>/dev/null
[2]-  Terminated              openssl speed &>/dev/null
[3]+  Terminated              openssl speed &>/dev/null

r...@testhost:~# ~/tickle_ruby.rb 
executed without timeout ok
executing with timeout
executed with timeout ok

-- 
building ruby1.8 with pthread support causes puppet hangs
https://bugs.launchpad.net/bugs/520715
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.

-- 
ubuntu-bugs mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to