Issue #2550 has been updated by Markus Roberts.
<blockquote> Is this ready to be committed? From what Sam said this makes things worse? </blockquote> I suppose it depends on your perspective. Without this patch the underlying error(s) are ignored and thing "go along further" but, as Sam notes, the results are probably incomplete/incorrect. My perspective is that this patch makes the situation slightly better by causing it to fail in a more appropriate manner. To that end, I'm actually wondering why it continues past the "err: State got corrupted" point (see the top of Sam's listing) with no more remediation that assuming that there was no state. So: * There is at least one, possibly as many as three underlying errors here (see related tickets). This patch does not fix them. * The relationship was not at first apparent because the failure was resulting in a nil being returned where it was not expected, and this caused a less then useful "undefined method `to_sym' for nil" message the first time the value was used. * This patch changes the data flow in that one particular place so that missing metadata does not produce the cryptic message. If you'd prefer, we could hold this and combine it with one of the other tickets, but I'd see this as something that needs to be dealt with in any case and which is only circumstantially related to the more serious underlying issues. ---------------------------------------- Bug #2550: to_sym errors from puppetd http://projects.reductivelabs.com/issues/2550 Author: Sam Rowe Status: Ready for Checkin Priority: Normal Assigned to: James Turnbull Category: file Target version: 0.25.0 Complexity: Unknown Affected version: 0.25.0rc1 Keywords: Running a 299eadb7d903d250c8340049bd78611f0c705920 RHEL 5 client against a server running with Markus' branch which fixes #2493 (ffe6bb837b56ecaf5a50f26550c0e11c707345dc) we get lots of to_sym errors like this: <pre> /usr/lib/ruby/site_ruby/1.8/puppet/type/file/content.rb:110:in `retrieve' /usr/lib/ruby/site_ruby/1.8/puppet/type.rb:810:in `currentpropvalues' /usr/lib/ruby/site_ruby/1.8/puppet/util/autoload.rb:85:in `inject' /usr/lib/ruby/site_ruby/1.8/puppet/type.rb:802:in `each' /usr/lib/ruby/site_ruby/1.8/puppet/type.rb:802:in `inject' /usr/lib/ruby/site_ruby/1.8/puppet/type.rb:802:in `currentpropvalues' /usr/lib/ruby/site_ruby/1.8/puppet/type.rb:790:in `retrieve' /usr/lib/ruby/site_ruby/1.8/puppet/type/file.rb:638:in `retrieve' /usr/lib/ruby/site_ruby/1.8/puppet/type.rb:719:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:60:in `apply' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:249:in `eval_children_and_apply_resource' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:425:in `thinmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:424:in `thinmark' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:248:in `eval_children_and_apply_resource' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:205:in `eval_resource' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:294:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:425:in `thinmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:424:in `thinmark' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:293:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:287:in `collect' /usr/lib/ruby/site_ruby/1.8/puppet/transaction.rb:287:in `evaluate' /usr/lib/ruby/site_ruby/1.8/puppet/resource/catalog.rb:139:in `apply' /usr/lib/ruby/site_ruby/1.8/puppet/configurer.rb:142:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:180:in `benchmark' /usr/lib/ruby/1.8/benchmark.rb:293:in `measure' /usr/lib/ruby/1.8/benchmark.rb:307:in `realtime' /usr/lib/ruby/site_ruby/1.8/puppet/util.rb:179:in `benchmark' /usr/lib/ruby/site_ruby/1.8/puppet/configurer.rb:141:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/agent/locker.rb:21:in `lock' /usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run' /usr/lib/ruby/1.8/sync.rb:229:in `synchronize' /usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:53:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:130:in `with_client' /usr/lib/ruby/site_ruby/1.8/puppet/agent.rb:51:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/application/puppetd.rb:103:in `onetime' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:226:in `send' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:226:in `run_command' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:306:in `exit_on_fail' /usr/lib/ruby/site_ruby/1.8/puppet/application.rb:217:in `run' /usr/sbin/puppetd:159 err: //allusers::bjones/Allusers::Userfile[bjones/.less]/File[/home/bjones/.less]: Failed to retrieve current state of resource: Could not read /home/bjones/.less: undefined method `to_sym' for nil:NilClass </pre> FWIW this only happens on files and all of the files that had the problem are scheduled. And we ran with --ignoreschedules. -- 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://reductivelabs.com/redmine/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 -~----------~----~----~----~------~----~------~--~---
