Issue #17887 has been updated by Josh Cooper. Status changed from In Topic Branch Pending Review to Code Insufficient
I ran into this same error during pluginsync. My windows VM tries to pluginsync from my other VM. This applies a catalog with remote file sources. Each file content request results in a new ssl connection (really it should be reusing the connection) causing the SSL handshake overhead. During the handshake, the Windows VM is blocked in a read, waiting for the master to respond, when the socket times out.. In ruby 1.8, Timeout::Error is not a StandardError (and that results in the issue Andy mentions above). Note in 1.9, Timeout::Error is a StandardError. Dominic, I'm marking the PR as code as insufficient, because we still want to log the exception that results from the failure to sync the property. Patrick and I were discussing creating a timeout method, e.g. Puppet::Util.timeout, and have that always throw an instance of a standard error. But in my case, the Timeout::Error is originating in the Net::HTTP code due to read timing out. Perhaps the best thing is to wrap our Puppet::Network::HTTP::Connection#request method to catch Timeout::Error explicitly and raise a Puppet::Error. ---------------------------------------- Bug #17887: Failure during property sync results in "Puppet::Util::Log requires a message" https://projects.puppetlabs.com/issues/17887#change-81261 Author: Dominic Cleal Status: Code Insufficient Priority: Normal Assignee: Dominic Cleal Category: transactions Target version: 3.x Affected Puppet version: development Keywords: resource harness, transaction Branch: https://github.com/puppetlabs/puppet/pull/1358 During provider development and testing with rspec+mocha and using a test catalog, an expectation failure can cause the following log message: Could not evaluate: Puppet::Util::Log requires a message This occurs if the property sync calls a method that has a mocha expectation set, but has reached the max call count or similar. When testing a catalog from a test, the `Puppet::Transaction::ResourceHarness` calls `apply_parameter` for a given parameter, which then calls `property.sync`. If the mocha expectation fails inside this sync, the `rescue` block is never called (it isn't an exception) but the `ensure` block is still run. This calls `send_log` on the event, but the message is uninitialised at that point so the logging fails with the above error. -- 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.
