That's weird…

First of all, could you update Rack to 1.1 and try with that version?

If it's still broken, I think this monkey-patch should do it:

class Rack::Request
  def params
    self.GET.update(self.POST)
  rescue EOFError, Errno::ESPIPE => e
    self.GET
  end
end

// Magnus Holm


On Thu, Jan 21, 2010 at 06:19, Garret Buell <terr...@gmail.com> wrote:

> Hello all,
> I'm running Camping 1.9.300 on DreamHost. Everything has been working
> great for quite some time, then recently, visiting the Camping app
> gives a 500 Internal Server Error. It seems as if something at
> DreamHost was upgraded and now everything is broken. Even the basic
> example Camping apps do not work so I suspect there is some
> incompatibility with Camping and the current setup. I'm hoping someone
> can help me figure out what is wrong.
>
> Here is the relevant error log data:
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***]
> /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/request.rb:150:in
> `rewind': Illegal seek (Errno::ESPIPE)
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
> /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/request.rb:150:in
> `POST'
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
> /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/request.rb:160:in
> `params'
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
> (eval):30:in `initialize'
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
> (eval):50:in `new'
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
> (eval):50:in `call'
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
> dispatch.cgi:16
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
> /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/content_length.rb:13:in
> `call'
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
> /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/content_length.rb:13:in
> `call'
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
> /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/handler/cgi.rb:33:in
> `serve'
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
> /usr/lib/ruby/gems/1.8/gems/rack-1.0.0/lib/rack/handler/cgi.rb:7:in
> `run'
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] \tfrom
> dispatch.cgi:19
> [Wed Jan 20 18:08:06 2010] [error] [client ***.***.***.***] Premature
> end of script headers: dispatch.cgi
>
> My dispatch.cgi worked previously and nothing has been modified but here it
> is:
> #!/usr/bin/ruby
>
> ENV['GEM_PATH'] = '/home/garret/.gems:/usr/lib/ruby/gems/1.8'
> ENV['GEM_HOME'] = '/home/garret/.gems'
>
> Dir.chdir '/home/garret/admin.*****.com'
>
> require 'admin'
> app = Admin
>
> fixed = lambda do |env|
>  r = env["REQUEST_URI"][0..(env["REQUEST_URI"].index("?")||0)-1]
>  d = r.length - (env["PATH_INFO"]||'/').length
>  env["SCRIPT_NAME"] = r[0...d]
>  env["PATH_INFO"] = r[d..-1]
>  app.call(env)
> end
>
> Rack::Handler::CGI.run(fixed)
>
>
> The
> require 'admin'
> app = Admin
>
> can be replaced with any of the sample apps I've found with the same
> effect.
>
> Help?
>
> Thanks,
> Garret Buell
> _______________________________________________
> Camping-list mailing list
> Camping-list@rubyforge.org
> http://rubyforge.org/mailman/listinfo/camping-list
>
_______________________________________________
Camping-list mailing list
Camping-list@rubyforge.org
http://rubyforge.org/mailman/listinfo/camping-list

Reply via email to