From: "gabrielwei (Hao Wei)" Date: 2013-07-23T22:11:20+09:00 Subject: [ruby-core:56128] [ruby-trunk - Bug #8673] User rest-client PUT request core dumped Issue #8673 has been updated by gabrielwei (Hao Wei). /home/hao/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/openssl/buffering.rb:174: [BUG] Segmentation fault ruby 2.0.0p247 (2013-06-27 revision 41674) [i686-linux] -- Control frame information ----------------------------------------------- c:0152 p:---- s:0787 e:000786 CFUNC :sysread_nonblock c:0151 p:0067 s:0782 e:000781 METHOD /home/hao/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/openssl/buffering.rb:174 c:0150 p:0021 s:0776 e:000774 METHOD /home/hao/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/protocol.rb:153 c:0149 p:0021 s:0772 e:000771 METHOD /home/hao/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/protocol.rb:134 c:0148 p:0009 s:0766 e:000765 METHOD /home/hao/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/protocol.rb:144 c:0147 p:0008 s:0763 e:000762 METHOD /home/hao/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http/response.rb:39 c:0146 p:0009 s:0757 e:000756 METHOD /home/hao/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http/response.rb:28 c:0145 p:0044 s:0749 e:000748 BLOCK /home/hao/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:1406 [FINISH] c:0144 p:---- s:0747 e:000746 CFUNC :catch c:0143 p:0024 s:0743 e:000742 METHOD /home/hao/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:1403 c:0142 p:0061 s:0736 e:000735 METHOD /home/hao/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:1376 c:0141 p:0055 s:0729 e:000728 METHOD /home/hao/.rvm/gems/ruby-2.0.0-p247/gems/rest-client-1.6.7/lib/restclient/net_http_ext.rb:51 c:0140 p:0052 s:0723 E:fffff6dc BLOCK /home/hao/.rvm/gems/ruby-2.0.0-p247/gems/rest-client-1.6.7/lib/restclient/request.rb:176 c:0139 p:0044 s:0719 e:000718 METHOD /home/hao/.rvm/rubies/ruby-2.0.0-p247/lib/ruby/2.0.0/net/http.rb:852 c:0138 p:0269 s:0716 E:fffffd98 METHOD /home/hao/.rvm/gems/ruby-2.0.0-p247/gems/rest-client-1.6.7/lib/restclient/request.rb:172 c:0137 p:0039 s:0708 e:000707 METHOD /home/hao/.rvm/gems/ruby-2.0.0-p247/gems/rest-client-1.6.7/lib/restclient/request.rb:64 c:0136 p:0013 s:0703 e:000702 METHOD /home/hao/.rvm/gems/ruby-2.0.0-p247/gems/rest-client-1.6.7/lib/restclient/request.rb:33 c:0135 p:0075 s:0698 e:000697 METHOD /home/hao/.rvm/gems/ruby-2.0.0-p247/gems/rest-client-1.6.7/lib/restclient/resource.rb:76 c:0134 p:0105 s:0691 e:000690 METHOD /home/hao/Work/fi-ware-idm/app/models/xacml_policy.rb:81 ---------------------------------------- Bug #8673: User rest-client PUT request core dumped https://bugs.ruby-lang.org/issues/8673#change-40623 Author: gabrielwei (Hao Wei) Status: Open Priority: Urgent 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/