mockko / livereload

LiveReload applies CSS/JS changes to Safari or Chrome w/o reloading the page (and autoreloads the page when HTML changes)
http://livereload.com/
1.18k stars 56 forks source link

Show better error message when port is already in use #42

Open fabiosussetto opened 13 years ago

fabiosussetto commented 13 years ago

Hi, I'm on ubuntu 10.10. When launching livereload from the shell, I get these errors:


LiveReload is waiting for browser to connect.
/home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_tcp_server': no acceptor (RuntimeError)
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_server'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/em-websocket-0.2.0/lib/em-websocket/websocket.rb:14:in `block in start'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/eventmachine-0.12.10/lib/eventmachine.rb:241:in `call'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/eventmachine-0.12.10/lib/eventmachine.rb:241:in `run'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/em-websocket-0.2.0/lib/em-websocket/websocket.rb:9:in `start'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/livereload-1.4/lib/livereload.rb:247:in `block in run'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `call'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/livereload-1.4/lib/livereload.rb:215:in `run'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/gems/livereload-1.4/bin/livereload:51:in `'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/bin/livereload:19:in `load'
    from /home/fabio/.rvm/gems/ruby-1.9.2-p0@global/bin/livereload:19:in `
'

Actually, after this error livereload is working as expected.

NV commented 13 years ago

You're trying to run livereload when it's already running. I can reproduce the same on MacOS X 10.6

➤ livereload &
...
➤ livereload
Version:  1.5  (compatible with browser extension versions 1.5.x)
Port:     35729
Watching: /Users/nv/Code/CSSOM/docs
  - extensions: .html .css .js .png .gif .jpg .php .php5 .py .rb .erb
  - live refreshing disabled for .js: will reload the whole page when .js is changed
  - excluding changes in: */.git/* */.svn/* */.hg/*
  - with a grace period of 0.05 sec after each change

LiveReload is waiting for browser to connect.
/Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_tcp_server': no acceptor (RuntimeError)
    from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:572:in `start_server'
    from /Library/Ruby/Gems/1.8/gems/em-websocket-0.2.0/lib/../lib/em-websocket/websocket.rb:14:in `start'
    from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:241:in `call'
    from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:241:in `run'
    from /Library/Ruby/Gems/1.8/gems/em-websocket-0.2.0/lib/../lib/em-websocket/websocket.rb:9:in `start'
    from /Users/nv/.gem/ruby/1.8/gems/livereload-1.5/bin/../lib/livereload.rb:247:in `run'
    from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `call'
    from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run_machine'
    from /Library/Ruby/Gems/1.8/gems/eventmachine-0.12.10/lib/eventmachine.rb:256:in `run'
    from /Users/nv/.gem/ruby/1.8/gems/livereload-1.5/bin/../lib/livereload.rb:215:in `run'
    from /Users/nv/.gem/ruby/1.8/gems/livereload-1.5/bin/livereload:51
    from /Users/nv/.gem/ruby/1.8/bin/livereload:19:in `load'
    from /Users/nv/.gem/ruby/1.8/bin/livereload:19

We need at least better error messages.