Skip to content
kevwil edited this page Feb 4, 2011 · 6 revisions

Update 2: I wrapped $stderr in another class that meets the Rack spec, and now everything is OK. phew!

Update: it seems Rails is closing the logger, which is using the rack.errors value that I provide (which is $stderr, just like most Rack servers use). I've tried setting IO#autoclose = false but that had no effect. A workaround does exist - in environment.rb you can set config.logger = Logger.new(STDOUT), but that's a hack to get around the root problem that the rack.errors IO that I provide is blowing up in Rails.

The server works for basic Rack apps and Sinatra apps - everything in the examples/ folder. However, Rails really throws me for a loop. I've tested with 2.3.10 and 3.0.3, and both give variations on the same error, something about a bad file descriptor. I've read the source code for most all the Rack handlers as well as some of the Rails middleware, but I don't see anything to tell me what's wrong. I think it might be logging related, but I really have no idea.

Of course, there's a lot of polish to be done as well, but I would really like to get it to WORK first. :)

I'm working on the develop branch (using the https://github.com/nvie/gitflow style of Git dev workflow). Please help, especially if you understand all the crazy stuff Rails does with Rack and aren't afraid of JRuby internals.

HELP!

Clone this wiki locally