Bug #2238
Fileserver under Apache/Mongrel chokes on recursive directories
| Status: | Rejected | Start date: | 05/11/2009 | |
|---|---|---|---|---|
| Priority: | High | Due date: | ||
| Assignee: | % Done: | 100% |
||
| Category: | mongrel | |||
| Target version: | 0.25.0 | |||
| Affected Puppet version: | 0.25.0 | Branch: | ||
| Keywords: | ||||
| Votes: | 1 |
Description
E.g. manifest:
$vardir = "/var/lib/puppet"
file { "/var/lib/puppet/modularclientscripts":
owner => root, group => root, mode => 0755,
ensure => directory
}
file { scripts_bootloader:
path => "$vardir/modularclientscripts/bootloader/",
owner => root, group => root, mode => 0755,
purge => true,
ensure => directory, recurse => true,
ignore => '.svn', force => true,
source => "puppet:///modules/bootloader/scripts/",
require => File["/var/lib/puppet/modularclientscripts"]
}
The scripts directory in the module contains a single file under it.
In the puppetd output:
err: //Node[default]/bootloader::setup/File[scripts_bootloader]: Failed to generate additional resources using 'eval_generate': Server returned 502: Proxy Error err: Reporting failed: Server returned 502: Proxy Error
In the Apache puppet_access_log:
[Mon May 11 16:44:52 2009] [error] [client 10.125.225.108] proxy: Error reading from remote server returned by /production/file_metadatas/bootloader/scripts [Mon May 11 16:44:53 2009] [error] [client 10.125.225.108] (70014)End of file found: proxy: error reading status line from remote server 127.0.0.1
Let me know if you need more information.
Best regards, Derek
Related issues
History
Updated by Derek Whayman about 3 years ago
- Affected Puppet version changed from 0.24.8 to 0.25.0
Updated by Luke Kanies about 3 years ago
- Status changed from Unreviewed to Accepted
- Target version set to 0.25.0
Updated by Joe McDonagh almost 3 years ago
Still seeing this on b2.
Updated by James Turnbull almost 3 years ago
Was not fixed in beta2 so you’ll still see the error. If it was fixed in beta2 you’d see a commit message and the case would be closed.
Updated by Jordan Curzon almost 3 years ago
- Category set to mongrel
This url was parsed by Mongrel::HttpRequest.query_parse into a params hash with a nil in it.
/production/file_metadatas/modules/bootloader/scripts?links=manage&ignore=.svn&=&recurse=true
{"recurse"=>"true", nil=>nil, "links"=>"manage", "ignore"=>".svn"}
The bug randomly disappeared before I could track down when the client was generating such a url. Below is the trace on the server side. I have a patch that I’ll send to the list.
/opt/puppet/lib/puppet/network/http/handler.rb:186:in `decode_params' /opt/puppet/lib/puppet/util/autoload/file_cache.rb:46:in `inject' /opt/puppet/lib/puppet/network/http/handler.rb:184:in `each' /opt/puppet/lib/puppet/network/http/handler.rb:184:in `inject' /opt/puppet/lib/puppet/network/http/handler.rb:184:in `decode_params' /opt/puppet/lib/puppet/network/http/mongrel/rest.rb:27:in `params' /opt/puppet/lib/puppet/network/http/handler.rb:43:in `process' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:159:in `process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `each' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `run' /opt/puppet/lib/puppet/network/http/mongrel.rb:22:in `listen' /opt/puppet/lib/puppet/network/server.rb:131:in `listen' /opt/puppet/lib/puppet/network/server.rb:146:in `start' /opt/puppet/lib/puppet/daemon.rb:128:in `start' /opt/puppet/lib/puppet/application/puppetmasterd.rb:96:in `main' /opt/puppet/lib/puppet/application.rb:226:in `send' /opt/puppet/lib/puppet/application.rb:226:in `run_command' /opt/puppet/lib/puppet/application.rb:217:in `run' /opt/puppet/sbin/puppetmasterd:66 err: undefined method `to_sym' for nil:NilClass
Updated by James Turnbull almost 3 years ago
- Status changed from Accepted to Closed
Pushed in commit:cdd166244ab55c9f3129bdbffd16bd55bd8ed10e in branch master.
Updated by Jordan Curzon almost 3 years ago
- Status changed from Closed to Re-opened
It appears that blank? is not always a method of String. Would it be better to find out why String is missing this method in this case or to just deal with it and use “var.nil? || var == ‘’” ?
/opt/puppet/lib/puppet/network/http/handler.rb:185:in `decode_params' /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:31:in `inject' /opt/puppet/lib/puppet/network/http/handler.rb:183:in `each' /opt/puppet/lib/puppet/network/http/handler.rb:183:in `inject' /opt/puppet/lib/puppet/network/http/handler.rb:183:in `decode_params' /opt/puppet/lib/puppet/network/http/mongrel/rest.rb:27:in `params' /opt/puppet/lib/puppet/network/http/handler.rb:43:in `process' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:159:in `process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `each' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:158:in `process_client' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:285:in `run' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `initialize' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `new' /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.5/lib/mongrel.rb:268:in `run' /opt/puppet/lib/puppet/network/http/mongrel.rb:22:in `listen' /opt/puppet/lib/puppet/network/server.rb:131:in `listen' /opt/puppet/lib/puppet/network/server.rb:146:in `start' /opt/puppet/lib/puppet/daemon.rb:128:in `start' /opt/puppet/lib/puppet/application/puppetmasterd.rb:96:in `main' /opt/puppet/lib/puppet/application.rb:226:in `send' /opt/puppet/lib/puppet/application.rb:226:in `run_command' /opt/puppet/lib/puppet/application.rb:217:in `run' /opt/puppet/sbin/puppetmasterd:66 err: undefined method `blank?' for "facts":String
Updated by Luke Kanies almost 3 years ago
- Priority changed from Normal to High
This is a blocker for 0.25.
Updated by Jordan Curzon almost 3 years ago
- Status changed from Re-opened to Closed
- % Done changed from 0 to 100
Applied in changeset commit:cdd166244ab55c9f3129bdbffd16bd55bd8ed10e.
Updated by Jordan Curzon almost 3 years ago
- Status changed from Closed to Re-opened
- % Done changed from 100 to 0
Jordan Curzon wrote:
Applied in changeset commit:cdd166244ab55c9f3129bdbffd16bd55bd8ed10e.
I didn’t make this change. I didn’t touch the ticket. Do you know why it automatically closed it in my name?
Updated by James Turnbull almost 3 years ago
It’s an automatic feature when commits are added to the Repo. The previous commit is assumed to have fixed the issue. The commit is in your name so it closed it in your name.
Updated by Luke Kanies almost 3 years ago
- Status changed from Re-opened to Accepted
Again, isn’t this actually done? It looks like James merged the code, which should imply the ticket is fixed, right?
Updated by Jordan Curzon almost 3 years ago
- Status changed from Accepted to Closed
- % Done changed from 0 to 100
Luke Kanies wrote:
Again, isn’t this actually done? It looks like James merged the code, which should imply the ticket is fixed, right?
It is, my bad for reopening it. I missed James merging my second patch into master. commit:46112daf979c71fb004d51289096ae37561d23bb was the final fix.
Updated by Lawrence Ludwig over 2 years ago
- File debug.txt added
- Status changed from Closed to Re-opened
If this is fixed in 0.25 RC 1 it is still occurring.
Attached is output from a sample run. Passenger is used on the puppetmaster and 0.25 RC1 is on both client and server.
Updated by Lawrence Ludwig over 2 years ago
- File debug.txt added
Here is new debug output with —color false
Based upon an IM discussion with Luke the bug may not be related.
Updated by Markus Roberts over 2 years ago
- Status changed from Re-opened to Needs More Information
- Assignee set to Lawrence Ludwig
Larry —
I’m not seeing any connection between the log you posted and the original bug. Could you either clarify the relationship between them or open a new ticket with a clear description of the problem you are seeing and clean up and close this one? Thanks.
Updated by Luke Kanies over 2 years ago
- Status changed from Needs More Information to Rejected
No one can seem to reproduce this, so I’m assuming it was run with an older server-side.
Updated by Dis Connect about 2 years ago
I’m having the issue unfortunately.
err: //apt/Modules_dir[apt]/File[/var/lib/puppet/modules/apt]: Failed to generate additional resources using ‘eval_generate’: Error 502 on SERVER: <!DOCTYPE HTML PUBLIC “–//IETF//DTD HTML 2.0//EN”>
Proxy Error¶
The proxy server received an invalid
response from an upstream server.
The proxy server could not handle the request GET /production/file_metadatas/apt/modules_dir.
Reason: Corrupt status line returned by remote server: HTTP/1.1 404 Could not find instances in file_metadata with '{:ip=>" (truncated, I can produce the whole thing if needed but I'll have to anonymize it)
Updated by Joe McDonagh about 2 years ago
Yikes, this ticket turned into quite the cluster. I’m on .25.4 now with the same setup I tried with .25.0 so one of the commits in this ticket fixed that issue. I recommend you file a new ticket.