From: ngotogenome@... Date: 2014-10-07T11:43:42+00:00 Subject: [ruby-core:65463] [ruby-trunk - Bug #10335] [Feedback] ssl connect using net/http on solaris x86 fails with core dump Issue #10335 has been updated by Naohisa Goto. Status changed from Open to Feedback Could you please provide results of the following commands and check if these are linked with intended OpenSSL and zlib libraries? ~~~ % ldd /opt/puppet/lib/ruby/2.1.0/i386-solaris2.10/openssl.so % ldd /opt/puppet/lib/ruby/2.1.0/i386-solaris2.10/digest.so % ldd /opt/puppet/lib/ruby/2.1.0/i386-solaris2.10/zlib.so ~~~ In Solaris, to prevent linking with pre-installed OpenSSL in /usr/lib, setting an environment variable PKG_CONFIG_PATH may generally be needed during build process of ruby. For example, ~~~ % PKG_CONFIG_PATH=/opt/puppet/lib/pkgconfig:/usr/lib/pkgconfig % export PKG_CONFIG_PATH ~~~ ---------------------------------------- Bug #10335: ssl connect using net/http on solaris x86 fails with core dump https://bugs.ruby-lang.org/issues/10335#change-49243 * Author: Toni Schmidbauer * Status: Feedback * Priority: Normal * Assignee: * Category: ext/openssl * Target version: * ruby -v: ruby 2.1.3p242 (2014-09-19 revision 47630) [i386-solaris2.10] * Backport: 2.0.0: UNKNOWN, 2.1: UNKNOWN ---------------------------------------- we tried to compile ruby 2.1.3 on solaris x86 with the current sun studio compiler 12.3 (for running puppet). we used the following configure options to compile openssl: ./Configure --prefix=/opt/puppet shared solaris-x86-cc we tried the following openssl version: 1.0.1e 1.0.1i 1.0.0n configure options used to compile ruby: CPPFLAGS="-I /opt/puppet/include" LDFLAGS="-R /opt/puppet/lib -L /opt/puppet/lib" ./configure --without-gcc --prefix=$(PREFIX) --enable-shared --disable-install-doc --disable-install-rdoc we tried ruby 2.0.0-p481 2.0.0-p576 2.1.3 but the following example test scripts fails with a core dump: require "net/https" require "uri" uri = URI.parse("https://") https = Net::HTTP.new(uri.host, uri.port) https.use_ssl = true https.verify_mode = OpenSSL::SSL::VERIFY_NONE request = Net::HTTP::Get.new(uri.request_uri) response = https.request(request) response.body response.status response["header-here"] # All headers are lowercaserequire 'socket' please find the ruby dump output attached to this bug report. running pstack on the core file shows: # pstack core core 'core' of 11021: /opt/puppet/bin/ruby /tmp/test.rb ----------------- lwp# 1 / thread# 1 -------------------- fedfc067 _lwp_kill (1, 6) + 7 feda3883 raise (6) + 1f fed829e1 abort (398, 85781e8, 83b1e28, 83b1e58, 81a5756, 82b36cc) + cd 080c10a5 rb_bug (82b36cc, fe9f3511) + 55 081a5756 sigsegv (b, 83b2104, 83b1f04) + 86 fedf93ef __sighndlr (b, 83b2104, 83b1f04, 81a56d0) + f fedef0cf call_user_handler (b, 83b2104, 83b1f04) + 22b fedef210 sigacthandler (b, 83b2104, 83b1f04) + 7c --- called from signal handler with signal 11 (SIGSEGV) --- fe9f3511 tls1_PRF (c030, fea18040, d, 8771188, 20, 0) + 451 fe9f4ec9 tls1_generate_master_secret (bf4229a4, 472a4e9d, f376ce83, 38d14648, b70aefec, 2615730e) + 69 3a1f69b5 ???????? () ----------------- lwp# 2 / thread# 2 -------------------- fedfbd67 __pollsys (feed3fa8, 2, 0, 0) + 7 feda100a poll (feed3fa8, 2, ffffffff) + 52 082392c5 timer_thread_sleep (82e1584, 0) + 65 082393bc thread_timer (82e1584) + 5c fedf8feb _thr_setup (febf0200) + 4e fedf92f0 _lwp_start (febf0200, 0, 0, feed3ff8, fedf92f0, febf0200) we are on Oracle Solaris 10 1/13 s10x_u11wos_24a X86 any help would be appreciated thanks toni ---Files-------------------------------- ruby_dump.txt (4.66 KB) -- https://bugs.ruby-lang.org/