Skip to content

"rerun foreman start", the first re-run fails with "Errno::EADDRINUSE" (Ubuntu 12.10) #41

@gridsane

Description

@gridsane
rerun foreman start

17:31:47 [rerun] Heroku.dev launched
17:31:47 web.1  | started with pid 22808
17:31:49 web.1  | [2013-07-03 17:31:49] INFO  WEBrick 1.3.1
17:31:49 web.1  | [2013-07-03 17:31:49] INFO  ruby 1.9.3 (2012-04-20) [x86_64-linux]
17:31:49 web.1  | [2013-07-03 17:31:49] INFO  WEBrick::HTTPServer#start: pid=22811 port=5000
17:31:50 [rerun] Watching . for **/*.{rb,js,css,scss,sass,erb,html,haml,ru} using Linux adapter
r17:31:56 [rerun] Restarting
17:31:56 [rerun] Sending signal TERM to 22799
SIGTERM received
17:31:56 system | sending SIGTERM to all processes
17:32:00 [rerun] Sending signal INT to 22799
SIGINT received
17:32:01 system | sending SIGKILL to all processes
17:32:02 [rerun] Sending signal KILL to 22799

17:32:02 [rerun] Heroku.dev restarted
17:32:02 web.1  | started with pid 22892
17:32:04 web.1  | [2013-07-03 17:32:04] INFO  WEBrick 1.3.1
17:32:04 web.1  | [2013-07-03 17:32:04] INFO  ruby 1.9.3 (2012-04-20) [x86_64-linux]
17:32:04 web.1  | [2013-07-03 17:32:04] WARN  TCPServer Error: Address already in use - bind(2)
17:32:04 web.1  | /usr/lib/ruby/1.9.1/webrick/utils.rb:85:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)
17:32:04 web.1  |   from /usr/lib/ruby/1.9.1/webrick/utils.rb:85:in `new'
17:32:04 web.1  |   from /usr/lib/ruby/1.9.1/webrick/utils.rb:85:in `block in create_listeners'
17:32:04 web.1  |   from /usr/lib/ruby/1.9.1/webrick/utils.rb:82:in `each'
17:32:04 web.1  |   from /usr/lib/ruby/1.9.1/webrick/utils.rb:82:in `create_listeners'
17:32:04 web.1  |   from /usr/lib/ruby/1.9.1/webrick/server.rb:82:in `listen'
17:32:04 web.1  |   from /usr/lib/ruby/1.9.1/webrick/server.rb:70:in `initialize'
17:32:04 web.1  |   from /usr/lib/ruby/1.9.1/webrick/httpserver.rb:45:in `initialize'
17:32:04 web.1  |   from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/handler/webrick.rb:11:in `new'
17:32:04 web.1  |   from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/handler/webrick.rb:11:in `run'
17:32:04 web.1  |   from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:264:in `start'
17:32:04 web.1  |   from /var/lib/gems/1.9.1/gems/rack-1.5.2/lib/rack/server.rb:141:in `start'
17:32:04 web.1  |   from /var/lib/gems/1.9.1/gems/rack-1.5.2/bin/rackup:4:in `<top (required)>'
17:32:04 web.1  |   from /usr/local/bin/rackup:23:in `load'
17:32:04 web.1  |   from /usr/local/bin/rackup:23:in `<main>'
17:32:04 web.1  | exited with code 1
17:32:04 system | sending SIGTERM to all processes

"foreman" recieve SIGKILL, so "rackup" not killed by "foreman" (i can see it in a process list on port 5000), so "foreman" can't start second time.

Maybe time intervals between signals should be in options?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions