From: "mml (McClain Looney)" Date: 2013-08-22T04:14:51+09:00 Subject: [ruby-core:56775] [ruby-trunk - Bug #8673] User rest-client PUT request core dumped Issue #8673 has been updated by mml (McClain Looney). I'm seeing regular segfaults along this code path without any fancy ssl-related stuff. Interestingly, it's blowing up during a spec run, and when I run the segfaulting specification alone, it doesn't segfault. c:0042 p:---- s:0186 e:000185 CFUNC :read_nonblock c:0041 p:0021 s:0182 e:000180 METHOD /usr/local/lib/ruby/2.0.0/net/protocol.rb:153 c:0040 p:0077 s:0178 e:000177 METHOD /usr/local/lib/ruby/2.0.0/net/protocol.rb:104 c:0039 p:0058 s:0170 e:000169 BLOCK /usr/local/lib/ruby/2.0.0/net/http/response.rb:284 c:0038 p:0117 s:0166 e:000165 METHOD /usr/local/lib/ruby/2.0.0/net/http/response.rb:269 c:0037 p:0007 s:0162 e:000161 METHOD /usr/local/lib/ruby/2.0.0/net/http/response.rb:274 c:0036 p:0082 s:0158 e:000157 METHOD /usr/local/lib/ruby/2.0.0/net/http/response.rb:201 c:0035 p:0007 s:0152 e:000151 METHOD /usr/local/lib/ruby/2.0.0/net/http/response.rb:226 c:0034 p:0039 s:0149 e:000148 METHOD /usr/local/lib/ruby/2.0.0/net/http/response.rb:163 c:0033 p:0096 s:0144 e:000143 BLOCK /usr/local/lib/ruby/2.0.0/net/http.rb:1412 [FINISH] c:0032 p:---- s:0142 e:000141 CFUNC :catch c:0031 p:0024 s:0138 e:000137 METHOD /usr/local/lib/ruby/2.0.0/net/http.rb:1403 c:0030 p:0061 s:0131 e:000130 METHOD /usr/local/lib/ruby/2.0.0/net/http.rb:1376 c:0029 p:0036 s:0124 e:000123 BLOCK /usr/local/lib/ruby/2.0.0/net/http.rb:1369 c:0028 p:0044 s:0122 e:000121 METHOD /usr/local/lib/ruby/2.0.0/net/http.rb:852 c:0027 p:0017 s:0119 e:000118 METHOD /usr/local/lib/ruby/2.0.0/net/http.rb:1367 c:0026 p:0030 s:0112 E:001a68 METHOD /home/bby/.gem/ruby/2.0.0/gems/httparty-0.11.0/lib/httparty/request.rb:92 ---------------------------------------- Bug #8673: User rest-client PUT request core dumped https://bugs.ruby-lang.org/issues/8673#change-41317 Author: gabrielwei (Hao Wei) Status: Open Priority: Normal Assignee: Category: core Target version: ruby -v: ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux] Backport: 1.9.3: UNKNOWN, 2.0.0: UNKNOWN 1. use OpenSSL::X509::Certificate.new generate certificate object 2. create client = RestClient::Resource.new object 3. use client PUT request, then server crashed code is like as below: certificate = OpenSSL::X509::Certificate.new(File.read('file.pem')) client = RestClient::Resource.new(URL, :ssl_client_cert => certificate, :ssl_client_key => certificate.public_key, :verify_ssl => OpenSSL::SSL::VERIFY_PEER, :ssl_ca_file => 'ca-cert.pem') response = client.put(xml.to_xml, :content_type =>"application/xml") -- http://bugs.ruby-lang.org/