On 25/01/11 19:27, Nigel Kersten wrote:
> On Tue, Jan 25, 2011 at 10:25 AM, Brice Figureau
> <brice-pup...@daysofwonder.com> wrote:
>> On 25/01/11 18:47, Jason Wright wrote:
>>> On Mon, Jan 24, 2011 at 9:24 PM, Daniel Pittman <dan...@puppetlabs.com> 
>>> wrote:
>>>> For the other two exceptions, do you have 'ArgumentError' "Could not
>>>> find hostname" raised anywhere, or FileServerError, "Fileserver module
>>>> %s is not mounted"?  They also, ultimately, lead down to a place where
>>>> I/O subsystem errors could cause a false failure, and it would be
>>>> interesting to know if either of those two were thrown.
>>>
>>> These two lead to a fileserver module not mounted exception:
>>>
>>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:401:in `splitpath'
>>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:236:in `convert'
>>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:133:in `list'
>>> /usr/lib/ruby/1.8/rubygems/custom_require.rb:31
>>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `call'
>>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `protect_service'
>>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:85
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:338:in `call'
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:338:in `dispatch'
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:325:in `each'
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:325:in `dispatch'
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:368:in `call_method'
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:380:in `handle'
>>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:44:in `process'
>>> /usr/lib/ruby/1.8/puppet/network/http/rack/xmlrpc.rb:35:in `process'
>>>
>>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:401:in `splitpath'
>>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:236:in `convert'
>>> /usr/lib/ruby/1.8/puppet/network/handler/fileserver.rb:68:in `describe'
>>> /usr/lib/ruby/1.8/rubygems/custom_require.rb:31
>>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `call'
>>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:52:in `protect_service'
>>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:85
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:338:in `call'
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:338:in `dispatch'
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:325:in `each'
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:325:in `dispatch'
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:368:in `call_method'
>>> /usr/lib/ruby/1.8/xmlrpc/server.rb:380:in `handle'
>>> /usr/lib/ruby/1.8/puppet/network/xmlrpc/processor.rb:44:in `process'
>>> /usr/lib/ruby/1.8/puppet/network/http/rack/xmlrpc.rb:35:in `process'
>>
>> xmlrpc?
>> Do you still have 0.24.x clients?
>>
>> You omitted one important piece of information which is the kind of
>> exception along with the error message. Can you post it so that we can
>> understand what happens?
> 
> Brice, I'm pretty sure we still had some XMLRPC left in 0.25.x, I
> don't believe we completely got rid of it until 2.6.x

Oh, I'm well aware of this. I was asking about 0.24.x clients, because I
thought the not-ported-to-REST handlers was only the filebucket.
I was pretty sure file_metadata and file_content were handled through
fullblown REST.

BTW, I really think this is a thread race, as the first trace reminds me
something I reported (and we fixed) for 2.6.

Looking to the 0.25.5 code of the xmlrpc fileserver handler, when
mounting it tries to find the current node, which might trigger a call
to the ENC, if I'm not mistaken.
If this operation lasts a long time, it is well possible that another
threads trigger the same codepath. This same codepath also uses the
environment cached_attr "module": I also discovered a thread race in
this code that was fixed in 2.6.

Would it be possible to run passenger in a mode where it won't spawn
more than one thread and see if the problem disappears?
-- 
Brice Figureau
My Blog: http://www.masterzen.fr/

-- 
You received this message because you are subscribed to the Google Groups 
"Puppet Users" group.
To post to this group, send email to puppet-users@googlegroups.com.
To unsubscribe from this group, send email to 
puppet-users+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/puppet-users?hl=en.

Reply via email to