scttnlsn / dandelion

Incremental Git repository deployment.
http://scttnlsn.github.io/dandelion
MIT License
738 stars 60 forks source link

Connection Error w/ Deploy #75

Closed cmunns closed 10 years ago

cmunns commented 10 years ago

Multiple working directories that had previously worked are now throwing errors after the connection is made to the server. This is what the first error looks like.

ruby/2.0.0/net/protocol.rb:158:inrescue in rbuf_fill': Net::ReadTimeout (Net::ReadTimeout)`

I'm using the latest beta version of Dandelion

scttnlsn commented 10 years ago

Please try w/ v0.4.2 and v0.3.15

cmunns commented 10 years ago

Installed 0.4.2 and it says

! The 'dandelion' gem is installed but you may need to install additional ! gems depending on the adapters you intend to use. ! ! Running 'dandelion status' in your project directory will indicate which ! additional gems need to be installed.

but using 'dandelion status' gives me same error as before

Installed 0.3.15 and it says the same error as before.

Lately, I've been having permissions/ownership issues with mamp does that help point you in any particular direction?

Thanks for the quick response.

scttnlsn commented 10 years ago

What else has changed since it was working previously? Were you using a different version of Ruby? A different server setup? What adapter/scheme are you using? Could you post the full stack trace that is printed with the error?

cmunns commented 10 years ago

the full trace looks like this:

/Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/protocol.rb:158:in `rescue in rbuf_fill': Net::ReadTimeout (Net::ReadTimeout)
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/protocol.rb:152:in `rbuf_fill'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/protocol.rb:134:in `readuntil'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:1108:in `readline'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:289:in `getline'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:300:in `getmultiline'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:318:in `getresp'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:351:in `block in sendcmd'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:349:in `sendcmd'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:428:in `transfercmd'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:487:in `block (2 levels) in retrbinary'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:199:in `with_binary'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:485:in `block in retrbinary'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/monitor.rb:211:in `mon_synchronize'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:484:in `retrbinary'
    from /Users/xxxx/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/ftp.rb:617:in `getbinaryfile'
    from /Users/xxxx/.rvm/gems/ruby-2.0.0-p353/gems/dandelion-0.4.2/lib/dandelion/adapter/ftp.rb:22:in `read'
    from /Users/xxxx/.rvm/gems/ruby-2.0.0-p353/gems/dandelion-0.4.2/lib/dandelion/workspace.rb:63:in `remote_sha'
    from /Users/xxxx/.rvm/gems/ruby-2.0.0-p353/gems/dandelion-0.4.2/lib/dandelion/workspace.rb:33:in `remote_commit'
    from /Users/xxxx/.rvm/gems/ruby-2.0.0-p353/gems/dandelion-0.4.2/lib/dandelion/command/deploy.rb:25:in `execute!'
    from /Users/xxxx/.rvm/gems/ruby-2.0.0-p353/gems/dandelion-0.4.2/lib/dandelion/cli.rb:66:in `execute!'
    from /Users/xxxx/.rvm/gems/ruby-2.0.0-p353/gems/dandelion-0.4.2/bin/dandelion:8:in `<top (required)>'
    from /Users/xxxx/.rvm/gems/ruby-2.0.0-p353/bin/dandelion:23:in `load'
    from /Users/xxxx/.rvm/gems/ruby-2.0.0-p353/bin/dandelion:23:in `<main>'
    from /Users/xxxx/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `eval'
    from /Users/xxxx/.rvm/gems/ruby-2.0.0-p353/bin/ruby_executable_hooks:15:in `<xxxx>'
cmunns commented 10 years ago

The server setup is the same. The scheme is the same. It is possible that I was using Ruby 1.9.3 previously but I am not positive of that. I'll try downgrading Ruby and running it again.

scttnlsn commented 10 years ago

Also might be worth setting the FTP passive: true/false in your Dandelion config.

jonathanmoore commented 10 years ago

I was just running into the same errors with current Ruby 2.0.0 and Dandelion 0.4.4. As @scttnlsn suggested manually setting passive: true fixed the error for me, and I was able to deploy successfully.

scttnlsn commented 10 years ago

@cmunns @jonathanmoore Dandelion 0.3 defaulted to passive: true but 0.4 does not. I wasn't sure what the right choice here was so I decided to go with what Net::FTP (Ruby's FTP client) does and default to false. I just realized that I forgot to update the documentation about this in the README (now fixed).

@cmunns Please re-open if setting passive: true does not fix your issue.