I found a machine exhibiting this problem. On Precise (facter
1.6.5-1ubuntu1), I ran the following experiments:

No patch: "puppet apply" failed 20 out of 100 runs.
Patched both memory.rb and processor.rb: "puppet apply" failed 0 out of 100 
runs.
Patched only memory.rb: "puppet apply" failed 23 out of 100 runs.
Pathced only processor.rb: "puppet apply" failed 0 out of 100 runs.

So for me, patching just processor.rb fixed the problem. However, this
being a race, it might be that I just wasn't able to trigger a race
involving memory.rb in my specific circumstances.

The patch I used was
https://github.com/puppetlabs/facter/commit/9ff4453b2f0843df887ae1ec2098a4336291df0c.patch.
I can see that at least on Linux, all the affected areas do is parse
/proc/meminfo and /proc/cpuinfo in a way that I don't see why any thread
exclusive locks would be needed at all. Upstream seemed to agree in
https://github.com/puppetlabs/facter/pull/174 and had no explanation for
why they were put in either. So I think it's safe to backport all of the
patch to Precise. I'll do this next week.

** Changed in: facter (Ubuntu Precise)
     Assignee: (unassigned) => Robie Basak (racb)

-- 
You received this bug notification because you are a member of Ubuntu
Bugs, which is subscribed to Ubuntu.
https://bugs.launchpad.net/bugs/986973

Title:
  Facter bug causes puppet to hang

To manage notifications about this bug go to:
https://bugs.launchpad.net/ubuntu/+source/facter/+bug/986973/+subscriptions

-- 
ubuntu-bugs mailing list
ubuntu-bugs@lists.ubuntu.com
https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs

Reply via email to