Issue #4955 has been reported by Markus Roberts.
----------------------------------------
Bug #4955: Puppet::Util.sync is not thread safe
http://projects.puppetlabs.com/issues/4955
Author: Markus Roberts
Status: Accepted
Priority: Normal
Assignee:
Category:
Target version:
Affected version:
Keywords:
Branch:
The routine for issuing reference specific sync objects is tricky to use
correctly since it is not thread safe (it also appears to leak memory):
<pre>
# Return the sync object associated with a given resource.
def self.sync(resource)
@@syncresources[resource] ||= Sync.new
@@syncresources[resource]
end
</pre>
The problem is somewhat muddled by the implication that the key object is a
resource (and thus may be thread bound) -- in fact many of the code paths use
something other than a resource as a key. This also affect threadlock, which
is built on top of sync.
Apparently I don't "get" irony, so I won't comment on that aspect of the
situation, but this is still something that ought to be fix (a "bug," to be
technical).
--
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.