Christopher J. Mackie
2006-Feb-26 22:29 UTC
[Rails] Help - WEBrick won''t start - "Bad file descriptor" error
I have been working for a few days on a new (Windows) system, and
suddenly WEBrick won''t start. Full error text is at bottom of message.
It began after I followed Brian Hogan''s (terrific!) instructions for
setting up Eclipse w/Rails in Windows
(http://www.napcs.com/howto/railsonwindows.html). The server started
fine from w/in Eclipse when I reached that part of the instructions, but
when I got to the end I found the server broken (hadn''t started the
server in the meantime, so I can''t say for sure when it happened).
WEBrick now doesn''t work from inside Eclipse or from the command line;
identical errors. I tried creating a new rails command-line project in
case the projects inside Eclipse were damaged; no difference.
I also tried rewinding, but even complete uninstall/reinstalls of ruby
and rails don''t fix the problem. These are completely basic projects --
no plug-ins, I haven''t even generated a scaffold or any
models/controllers yet.
Anyone able to shed any light?
--CJ
/////////////////
///Here''s the trace:
Booting WEBrick...
=> Rails application started on http://0.0.0.0:3000
=> Ctrl-C to shutdown server; call with --help for options
[2006-02-26 17:09:10] INFO WEBrick 1.3.1
[2006-02-26 17:09:10] INFO ruby 1.8.4 (2005-12-24) [i386-mswin32]
[2006-02-26 17:09:10] WARN TCPServer Error: Bad file descriptor -
bind(2)
c:/bin/ruby/lib/ruby/1.8/webrick/utils.rb:73:in `initialize'': Bad file
descriptor - bind(2) (Errno::EBADF)
from c:/bin/ruby/lib/ruby/1.8/webrick/utils.rb:73:in
`create_listeners''
from c:/bin/ruby/lib/ruby/1.8/webrick/utils.rb:70:in
`create_listeners''
from c:/bin/ruby/lib/ruby/1.8/webrick/server.rb:75:in `listen''
from c:/bin/ruby/lib/ruby/1.8/webrick/server.rb:63:in
`initialize''
from c:/bin/ruby/lib/ruby/1.8/webrick/httpserver.rb:24:in
`initialize''
from
c:/bin/ruby/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/webrick_server.rb:61:
in `dispatch''
from
c:/bin/ruby/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/commands/servers/webr
ick.rb:59
from
c:/bin/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require''
from
c:/bin/ruby/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_suppor
t/dependencies.rb:214:in `require''
from
c:/bin/ruby/lib/ruby/gems/1.8/gems/rails-1.0.0/lib/commands/server.rb:28
from
c:/bin/ruby/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:21:in
`require''
from
c:/bin/ruby/lib/ruby/gems/1.8/gems/activesupport-1.2.5/lib/active_suppor
t/dependencies.rb:214:in `require''
from script/server:3
/////////////////
/// Here''s the code around the point of failure (line 73):
/// c:/bin/ruby/lib/ruby/1.8/webrick/utils.rb
70 res.each{|ai|
71 begin
72 logger.debug("TCPServer.new(#{ai[3]}, #{port})") if logger
73 sock = TCPServer.new(ai[3], port)
74 port = sock.addr[1] if port == 0
75 Utils::set_close_on_exec(sock)
76 sockets << sock
77 rescue => ex
78 logger.warn("TCPServer Error: #{ex}") if logger
79 last_error = ex
80 end
Michael Trier
2006-Feb-27 01:51 UTC
[Rails] Help - WEBrick won''t start - "Bad file descriptor" error
I had the same problem and posted about it here as well. I think it''s somehow related to eclipse tying up a port. If you do a: ruby script\server --port=8000 It should work fine. But you''ll have to navigate to http://localhost:8000 instead. Michael
Christopher J. Mackie
2006-Feb-27 03:10 UTC
[Rails] Help - WEBrick won''t start - "Bad file descriptor" error
That fixed it. Thanks, Michael! --CJ -----Original Message----- From: Michael Trier [mailto:mtrier@gmail.com] Sent: Sunday, February 26, 2006 8:52 PM To: rails@lists.rubyonrails.org Subject: Re: [Rails] Help - WEBrick won''t start - "Bad file descriptor" error I had the same problem and posted about it here as well. I think it''s somehow related to eclipse tying up a port. If you do a: ruby script\server --port=8000 It should work fine. But you''ll have to navigate to http://localhost:8000 instead. Michael