Thanks Magnus!
Updating Rack to 1.1 worked. No idea what broke it in the first place
though since it definitely wasn't running Rack 1.1 before. Also, that
patch looks a lot like a patch I saw for Sinatra to address a similar
problem so I assume it would also work.

-Garret

On Wed, Jan 20, 2010 at 10:12 PM, Magnus Holm <judo...@gmail.com> wrote:
> 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
>
_______________________________________________
Camping-list mailing list
Camping-list@rubyforge.org
http://rubyforge.org/mailman/listinfo/camping-list

Reply via email to