Bug #5559
closedIntermittent Seg fault when using net-ssh
Description
Hi,
This is probably a waste of a report - especially as my standalone 5 lines test of this generally works (it seg faulted once), but when run inside Rails3.1.1, via a background thread, if I use net-ssh, it crashes the VM.
$ ruby -v
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
On OSX 10.7.2
/Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/buffer.rb:255: [BUG] Segmentation fault
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-darwin11.2.0]
-- Control frame information -----------------------------------------------
c:0038 p:---- s:0162 b:0162 l:000161 d:000161 CFUNC :e=
c:0037 p:0198 s:0158 b:0158 l:000157 d:000157 METHOD /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/buffer.rb:255
c:0036 p:0028 s:0153 b:0153 l:000152 d:000152 METHOD /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/buffer.rb:239
c:0035 p:0218 s:0149 b:0148 l:000126 d:000147 BLOCK /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/known_hosts.rb:111
c:0034 p:---- s:0142 b:0142 l:000141 d:000141 FINISH
c:0033 p:---- s:0140 b:0140 l:000139 d:000139 CFUNC :each_line
c:0032 p:0031 s:0137 b:0137 l:000126 d:000136 BLOCK /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/known_hosts.rb:95
c:0031 p:---- s:0133 b:0133 l:000132 d:000132 FINISH
c:0030 p:---- s:0131 b:0131 l:000130 d:000130 CFUNC :open
c:0029 p:0075 s:0127 b:0127 l:000126 d:000126 METHOD /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/known_hosts.rb:93
c:0028 p:0027 s:0121 b:0121 l:000112 d:000120 BLOCK /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/known_hosts.rb:23
c:0027 p:---- s:0118 b:0118 l:000117 d:000117 FINISH
c:0026 p:---- s:0116 b:0116 l:000115 d:000115 CFUNC :map
c:0025 p:0012 s:0113 b:0113 l:000112 d:000112 METHOD /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/known_hosts.rb:23
c:0024 p:0026 s:0108 b:0108 l:000107 d:000107 METHOD /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/known_hosts.rb:17
c:0023 p:0324 s:0103 b:0103 l:000102 d:000102 METHOD /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/transport/algorithms.rb:213
c:0022 p:0070 s:0098 b:0098 l:000097 d:000097 METHOD /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/transport/algorithms.rb:96
c:0021 p:---- s:0093 b:0093 l:000092 d:000092 FINISH
c:0020 p:---- s:0091 b:0091 l:000090 d:000090 CFUNC :new
c:0019 p:0248 s:0086 b:0086 l:001480 d:001480 METHOD /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh/transport/session.rb:78
c:0018 p:---- s:0080 b:0080 l:000079 d:000079 FINISH
c:0017 p:---- s:0078 b:0078 l:000077 d:000077 CFUNC :new
c:0016 p:0458 s:0073 b:0073 l:000072 d:000072 METHOD /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-ssh-2.2.1/lib/net/ssh.rb:186
c:0015 p:0029 s:0062 b:0062 l:000061 d:000061 METHOD /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/net-sftp-2.0.5/lib/net/sftp.rb:31
c:0014 p:0077 s:0052 b:0052 l:002370 d:002370 METHOD /Users/kimptoc/dev/ruby/fran/viadropbox31/app/models/service_handler/sftp/sftp_service.rb:10
c:0013 p:0306 s:0046 b:0046 l:000045 d:000045 METHOD /Users/kimptoc/dev/ruby/fran/viadropbox31/app/models/worker/basic_deployer.rb:27
c:0012 p:0131 s:0036 b:0036 l:000035 d:000035 METHOD /Users/kimptoc/dev/ruby/fran/viadropbox31/app/models/worker/manage_deploy_queue.rb:52
c:0011 p:0085 s:0029 b:0029 l:000028 d:000028 METHOD /Users/kimptoc/dev/ruby/fran/viadropbox31/app/models/worker/manage_deploy_queue.rb:71
c:0010 p:0011 s:0025 b:0025 l:001198 d:000024 BLOCK /Users/kimptoc/dev/ruby/fran/viadropbox31/config/initializers/background_deployer.rb:10
c:0009 p:---- s:0023 b:0023 l:000022 d:000022 FINISH
c:0008 p:---- s:0021 b:0021 l:000020 d:000020 CFUNC :call
c:0007 p:0027 s:0017 b:0017 l:000016 d:000016 METHOD /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/rufus-scheduler-2.0.12/lib/rufus/sc/jobs.rb:184
c:0006 p:0065 s:0014 b:0014 l:0024c8 d:000013 BLOCK /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/rufus-scheduler-2.0.12/lib/rufus/sc/jobs.rb:149
c:0005 p:---- s:0011 b:0011 l:000010 d:000010 FINISH
c:0004 p:---- s:0009 b:0009 l:000008 d:000008 CFUNC :call
c:0003 p:0011 s:0006 b:0006 l:0005e0 d:000005 BLOCK /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/rufus-scheduler-2.0.12/lib/rufus/sc/scheduler.rb:369
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:---- s:0002 b:0002 l:000001 d:000001 TOP
-- Ruby level backtrace information ----------------------------------------
/Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/rufus-scheduler-2.0.12/lib/rufus/sc/scheduler.rb:369:in block in trigger_job' /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/rufus-scheduler-2.0.12/lib/rufus/sc/scheduler.rb:369:in
call'
/Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/rufus-scheduler-2.0.12/lib/rufus/sc/jobs.rb:149:in block in trigger' /Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/rufus-scheduler-2.0.12/lib/rufus/sc/jobs.rb:184:in
trigger_block'
/Users/kimptoc/.rvm/gems/ruby-1.9.3-p0@p-viadropbox31/gems/rufus-scheduler-2.0.12/lib/rufus/sc/jobs.rb:184:in call' /Users/kimptoc/dev/ruby/fran/viadropbox31/config/initializers/background_deployer.rb:10:in
block in <top (required)>'
/Users/kimptoc/dev/ruby/fran/viadropbox31/app/models/worker/manage_deploy_queue.rb:71:in work' /Users/kimptoc/dev/ruby/fran/viadropbox31/app/models/worker/manage_deploy_queue.rb:52:in
process_next'
/Users/kimptoc/dev/ruby/fran/viadropbox31/app/models/worker/basic_deployer.rb:27:in deploy' /Users/kimptoc/dev/ruby/fran/viadropbox31/app/models/service_handler/sftp/sftp_service.rb:10:in
grab_from_source'
Files
Updated by nobu (Nobuyoshi Nakada) about 13 years ago
- Status changed from Open to Feedback
Please show the crash report log file under ~/Library/Logs/CrashReporter or /Library/Logs/CrashReporter.
Updated by kimptoc (Chris Kimpton) about 13 years ago
- File ruby_2011-11-07-165210_Chris-Kimptons-MacBook-Air-2011.crash ruby_2011-11-07-165210_Chris-Kimptons-MacBook-Air-2011.crash added
- File rails_crash.txt rails_crash.txt added
I have created a minimal rails project that demonstrates the problem here:
https://github.com/kimptoc/samples-rails-net-ssh-crashing-193
Attached is the crash report log file
Updated by daveungerer (Dave Ungerer) almost 13 years ago
There's some chance that this is the same issue as:
http://bugs.ruby-lang.org/issues/4373
In which case it's not a Ruby issue, but a Macports issue. Follow these steps:
rvm remove 1.9.3
manually delete ~/.rvm/gems/ruby-1.9.3* (not sure how to make rvm do it automatically)
sudo port -fp uninstall --follow-dependents OpenSSL latest_version_here - note that this will delete everything that depends on OpenSSL, which is a lot (I'm now using homebrew for those things)
Now re-install ruby and your gems and it should work. I also added the following to my .bash_profile, not sure if it's needed:
export RUBYOPT="-ropenssl"
Updated by alexeymuranov (Alexey Muranov) almost 13 years ago
Dave Ungerer wrote:
There's some chance that this is the same issue as:
http://bugs.ruby-lang.org/issues/4373In which case it's not a Ruby issue, but a Macports issue. Follow these steps:
rvm remove 1.9.3
manually delete ~/.rvm/gems/ruby-1.9.3* (not sure how to make rvm do it automatically)
sudo port -fp uninstall --follow-dependents OpenSSL latest_version_here - note that this will delete everything that depends on OpenSSL, which is a lot (I'm now using homebrew for those things)Now re-install ruby and your gems and it should work. I also added the following to my .bash_profile, not sure if it's needed:
export RUBYOPT="-ropenssl"
I do not know if just reinstalling ruby will be enough. I had seg faults with ruby 1.9.3p0, and i could fix it by following
http://www.christopherirish.com/2011/09/02/ruby-1-9-2-segmentation-fault-and-openssl/
What i've understood is that it was not an issue with MacPorts, but with Mac OS ssl which is still below version 1.0.0.
Updated by mame (Yusuke Endoh) about 12 years ago
- Status changed from Feedback to Assigned
- Assignee set to nobu (Nobuyoshi Nakada)
Looks os x issue. Nobu, could you check this?
--
Yusuke Endoh mame@tsg.ne.jp
Updated by jeremyevans0 (Jeremy Evans) over 5 years ago
- Status changed from Assigned to Third Party's Issue