Deploying Error: `split' called for 440:Fixnum

9 views
Skip to first unread message

jsoo

unread,
Nov 26, 2009, 2:13:09 PM11/26/09
to Capistrano
Hey

I'm pretty sure I've overlooked something obvious but I can't seem to
figure this out.

I'm trying to deploy and I receive the following error (x's inserted)
-----------------------------------------------------------------------------------------------
* executing `production'
* executing `deploy'
triggering before callbacks for `deploy'
* executing `deploy:update'
** transaction: start
* executing `deploy:update_code'
updating the cached checkout on all servers
* executing "git ls-remote g...@github.com:wwwjscom/xxxxx.git master"
servers: ["174.129.xx.xxx"]
*** [deploy:update_code] rolling back
* executing "rm -rf /data/xxxxx/releases/20091126185529; true"
servers: ["174.129.xx.xxxx"]
** [deploy:update_code] exception while rolling back:
Capistrano::ConnectionError, connection failed for: 174.129.xx.xxxx
(NoMethodError: private method `split' called for 440:Fixnum)
connection failed for: 174.129.xx.xxxx (NoMethodError: private method
`split' called for 440:Fixnum)


Please wait while the log file is processed
Executing Post Processing Hooks
* executing `ey_logger:upload_log_to_slice'
* executing "mkdir -p /data/xxxx/shared/deploy_logs"
servers: ["174.129.xx.xxx"]
/Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/capistrano/
configuration/connections.rb:114:in `establish_connections_to':
connection failed for: 174.129.xx.xxx (NoMethodError: private method
`split' called for 440:Fixnum) (Capistrano::ConnectionError)
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/connections.rb:162:in `execute_on_servers'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/cli/execute.rb:78:in `each_slice'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/connections.rb:160:in `each'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/connections.rb:160:in `each_slice'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/connections.rb:160:in `execute_on_servers'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/actions/invocation.rb:171:in `run_tree'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/actions/invocation.rb:143:in `run'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/namespaces.rb:186:in `send'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/namespaces.rb:186:in `method_missing'
from /Users/wwwjscom/.gem/ruby/1.8/gems/eycap-0.3.11/lib/eycap/
lib/ey_logger_hooks.rb:8
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/execution.rb:139:in `instance_eval'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/execution.rb:139:in
`invoke_task_directly_without_callbacks'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/callbacks.rb:27:in `invoke_task_directly'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/execution.rb:89:in `execute_task'
from /Library/Ruby/Gems/1.8/gems/capistrano-edge-2.5.6/lib/
capistrano/configuration/execution.rb:101:in `find_and_execute_task'
from /Users/wwwjscom/.gem/ruby/1.8/gems/eycap-0.3.11/lib/eycap/
recipes/../lib/ey_logger.rb:70:in `post_process'
from /Users/wwwjscom/.gem/ruby/1.8/gems/eycap-0.3.11/lib/eycap/
recipes/../lib/ey_logger.rb:69:in `each'
from /Users/wwwjscom/.gem/ruby/1.8/gems/eycap-0.3.11/lib/eycap/
recipes/../lib/ey_logger.rb:69:in `post_process'
from /Users/wwwjscom/.gem/ruby/1.8/gems/eycap-0.3.11/lib/eycap/
recipes/../lib/ey_logger.rb:68:in `each'
from /Users/wwwjscom/.gem/ruby/1.8/gems/eycap-0.3.11/lib/eycap/
recipes/../lib/ey_logger.rb:68:in `post_process'
from /Users/wwwjscom/.gem/ruby/1.8/gems/eycap-0.3.11/lib/eycap/
recipes/deploy.rb:9
from /usr/bin/cap:19
-----------------------------------------------------------------------------------------------

I'm deploying to an engineyard cloud. It works when I deploy from
another computer, but not this one. I'm on Snow Leopard, Capistrano
version 2.5.5, ruby version 1.8.7. I know the path says capistrano-
edge-2.5.6, but "$cap --version" says "v2.5.5". I can ssh into the
server just fine (ssh-keys setup, no password).

Anyone have any thoughts?

Here is my config/deploy.rb file too:
-----------------------------------------------------------------------------------------------
require "eycap/recipes"

set :keep_releases, 5
set :application, 'xxxx'
set :repository, 'g...@github.com:wwwjscom/xxxx.git'
set :deploy_to, "/data/#{application}"
set :deploy_via, :export
set :monit_group, "#{application}"
set :scm, :git
set :git_enable_submodules, 1
# This is the same database name for all environments
set :production_database,'xxxx_production'

set :environment_host, 'localhost'
set :deploy_via, :remote_cache

# uncomment the following to have a database backup done before every
migration
# before "deploy:migrate", "db:dump"

# comment out if it gives you trouble. newest net/ssh needs this set.
ssh_options[:paranoid] = false
default_run_options[:pty] = true
ssh_options[:forward_agent] = true
default_run_options[:pty] = true # required for svn+ssh:// andf git://
sometimes

# This will execute the Git revision parsing on the *remote* server
rather than locally
set :real_revision, lambda { source.query_revision(revision) { |
cmd| capture(cmd) } }


task :production do
set :branch, 'master'
role :web, '174.129.xx.xxx'
role :app, '174.129.xx.xxx'
role :db, '174.129.xx.xxx', :primary => true
set :environment_database, Proc.new { production_database }
set :dbuser, 'xx'
set :dbpass, 'xx'
set :user, 'xx'
set :password, 'xx'
set :runner, 'xx'
set :rails_env, 'xx'
end


task :uploads_symlink do
run "ln -nfs #{deploy_to}/shared/uploads #{release_path}/public/
uploads"
end


# TASKS
# Don't change unless you know what you are doing!

after "deploy", "deploy:cleanup"
after "deploy:migrations", "deploy:cleanup"
after "deploy:update_code","deploy:symlink_configs"
after "deploy:symlink", "uploads_symlink"
-----------------------------------------------------------------------------------------------

Thanks, and Happy Thanksgiving.

Lee Hambley

unread,
Nov 26, 2009, 2:48:07 PM11/26/09
to capis...@googlegroups.com
I'd try and rule out anything like ey-cap, and reduce it to your basic connection things, the idea that this has been raised before you even made a connection highlights that there's probably something up with some pre-setup code.

This is also suspicious:

# This will execute the Git revision parsing on the *remote* server rather than locally
set :real_revision,       lambda { source.query_revision(revision) { |cmd| capture(cmd) } }

There isn't usually a need to do that, but OK!

Also, in times like this, clearing the remote cache is always a smart move - but I'm not sure this qualifies :-D (since you're not even getting on the server for that to be making problems

-- Lee Hambley

Twitter: @leehambley | @capistranorb

jsoo

unread,
Dec 4, 2009, 2:05:52 AM12/4/09
to Capistrano
Thanks for the tip.

It actually turned out to be my gem version of net-ssh. I downgraded
capistrano and net-ssh to 2.5.5 and 2.0.11 respectively, and now all
errors are gone and things are back to normal.

Just in case anyone happens to run across this problem in the future!
Hope this helps.
Reply all
Reply to author
Forward
0 new messages