Mongrel not starting: `initialize_without_backlog': Cannot assign requested address - bind(2) (Errno

Hi
I have a rather strange problem with mongrel and I would be grateful if
anyone could assist me with resolving.

I have an application running mongrel 1.1.1 and rails 1.2.5 with ruby
1.8.6.
It was all working fine and starting as expected. But I did a server
reboot
once and mongrel has refused to start up since. I get the following
error:

/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/…/lib/mongrel/tcphack.rb:12:in
initialize_without_backlog': Cannot assign requested address - bind(2) (Errno::EADDRNOTAVAIL) from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/../lib/mongrel/tcphack.rb:12:ininitialize’
from /usr/lib/ruby/1.8/drb/drb.rb:865:in open' from /usr/lib/ruby/1.8/drb/drb.rb:865:inopen_server’
from /usr/lib/ruby/1.8/drb/drb.rb:759:in open_server' from /usr/lib/ruby/1.8/drb/drb.rb:757:ineach’
from /usr/lib/ruby/1.8/drb/drb.rb:757:in open_server' from /usr/lib/ruby/1.8/drb/drb.rb:1339:ininitialize’
from /usr/lib/ruby/1.8/drb/drb.rb:1627:in new' ... 31 levels... from /usr/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/../lib/mongrel/command.rb:212:inrun’
from
/usr/lib/ruby/gems/1.8/gems/mongrel-1.1.1/bin/mongrel_rails:281
from /usr/bin/mongrel_rails:16:in `load’
from /usr/bin/mongrel_rails:16

Initially I though that it was due to the fact that somehow there were
processes that were holding onto the ports so I did a netstat to check
for
listening processes. However there were no processes holding onto the
ports.

I suspect that it is something that is in the configuration for that
particular application because there are other applications on the
server
which are still working fine.

Has anyone else experienced this before and what was the resolution.

Thanks
Nii Amon

Hi Nii,

Looks like something else is already running on the port that Mongrel
wants,
3000 by default. See if you have any other mongrels running (ps -ef) or
better yet, bring up http://localhost:3000 and see what’s running.

Michael

Hi Michael
I can verify that there is no other application on that port: I setup a
dummy app on the server and started it on the port 3013 which my app is
trying to access. That worked without any problems. Therefore I think
that
it is something more to do with my own app than perhaps with a held
port.

Thanks
Nii Amon