Bug #7008

rake is crashing when trying to compile ffi gem

Added by Eugene M. Zheganin Eugene M. Zheganin almost 3 years ago. Updated over 2 years ago.

[ruby-core:47481]
Status:Rejected
Priority:Normal
Assignee:Naohisa Goto
ruby -v:ruby 1.9.3p194 (2012-04-20 revision 35410) [i386-solaris2.10] Backport:

Description

uname -a

SunOS japet 5.10 Generic_142910-17 i86pc i386 i86pc

ruby is built from sources, -m64

ruby -v

ruby 1.9.3p194 (2012-04-20 revision 35410) [i386-solaris2.10]

When I try to build a ffi gem myself (from it's sources) and I launch rake, it crashes:

[root@japet ffi-1.1.5]# rake
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/openssl.so: [BUG] Segmentation fault
ruby 1.9.3p194 (2012-04-20 revision 35410) [i386-solaris2.10]

-- Control frame information -----------------------------------------------
c:0028 p:-1997416 s:0098 b:0098 l:000097 d:000097 TOP

c:0027 p:---- s:0096 b:0096 l:000095 d:000095 CFUNC :require
c:0026 p:0036 s:0092 b:0092 l:000091 d:000091 METHOD /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36
c:0025 p:0011 s:0085 b:0085 l:000084 d:000084 TOP /usr/local/ruby-1.9.3/lib/ruby/1.9.1/openssl.rb:17
c:0024 p:---- s:0083 b:0083 l:000082 d:000082 FINISH
c:0023 p:---- s:0081 b:0081 l:000080 d:000080 CFUNC :require
c:0022 p:0036 s:0077 b:0077 l:000076 d:000076 METHOD /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36
c:0021 p:0049 s:0070 b:0070 l:000069 d:000069 TOP /usr/local/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:26
c:0020 p:---- s:0068 b:0068 l:000067 d:000067 FINISH
c:0019 p:---- s:0066 b:0066 l:000065 d:000065 CFUNC :require
c:0018 p:0036 s:0062 b:0062 l:000061 d:000061 METHOD /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36
c:0017 p:0029 s:0055 b:0055 l:000051 d:000054 BLOCK /usr/local/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/ffi-1.1.5/tasks/ann.rake:5
c:0016 p:0014 s:0052 b:0052 l:000051 d:000051 TOP /usr/local/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/ffi-1.1.5/tasks/ann.rake:2
c:0015 p:---- s:0050 b:0050 l:000049 d:000049 FINISH
c:0014 p:---- s:0048 b:0048 l:000047 d:000047 CFUNC :load
c:0013 p:0013 s:0044 b:0044 l:000043 d:000043 METHOD /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/rake_module.rb:25
c:0012 p:0032 s:0040 b:0040 l:000039 d:000039 METHOD /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/default_loader.rb:6
c:0011 p:0106 s:0036 b:0036 l:000035 d:000035 METHOD /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:569
c:0010 p:0306 s:0029 b:0029 l:001fe8 d:001fe8 METHOD /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:508
c:0009 p:0009 s:0024 b:0024 l:000017 d:000023 BLOCK /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:82
c:0008 p:0009 s:0022 b:0022 l:000021 d:000021 METHOD /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:133
c:0007 p:0011 s:0018 b:0018 l:000017 d:000017 METHOD /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:81
c:0006 p:0019 s:0015 b:0015 l:000008 d:000014 BLOCK /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:65
c:0005 p:0009 s:0013 b:0013 l:000012 d:000012 METHOD /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:133
c:0004 p:0011 s:0009 b:0009 l:000008 d:000008 METHOD /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:63
c:0003 p:0048 s:0006 b:0006 l:001798 d:000268 EVAL /usr/local/ruby-1.9.3/bin/rake:32
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:001798 d:001798 TOP

-- Ruby level backtrace information ----------------------------------------
/usr/local/ruby-1.9.3/bin/rake:32:in <main>'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:63:in
run'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:133:in standard_exception_handling'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:65:in
block in run'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:81:in load_rakefile'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:133:in
standard_exception_handling'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:82:in block in load_rakefile'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:508:in
raw_load_rakefile'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb:569:in load_imports'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/default_loader.rb:6:in
load'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/rake_module.rb:25:in load_rakefile'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/rake_module.rb:25:in
load'
/usr/local/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/ffi-1.1.5/tasks/ann.rake:2:in <top (required)>'
/usr/local/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/ffi-1.1.5/tasks/ann.rake:5:in
rescue in '
/usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require'
/usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
require'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/net/smtp.rb:26:in <top (required)>'
/usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
require'
/usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require'
/usr/local/ruby-1.9.3/lib/ruby/1.9.1/openssl.rb:17:in
'
/usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in require'
/usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb:36:in
require'

-- Other runtime information -----------------------------------------------

  • Loaded script: /usr/local/ruby-1.9.3/bin/rake

  • Loaded features:

    0 enumerator.so
    1 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/enc/encdb.so
    2 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/enc/trans/transdb.so
    3 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/defaults.rb
    4 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/rbconfig.rb
    5 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/deprecate.rb
    6 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/exceptions.rb
    7 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/custom_require.rb
    8 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems.rb
    9 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/version.rb
    10 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/etc.so
    11 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/fileutils.rb
    12 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/thread.rb
    13 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/singleton.rb
    14 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/monitor.rb
    15 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/optparse.rb
    16 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/ostruct.rb
    17 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/ext/core.rb
    18 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/invocation_exception_mixin.rb
    19 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/task.rb
    20 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/early_time.rb
    21 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/file_task.rb
    22 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/file_creation_task.rb
    23 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/shellwords.rb
    24 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/task_manager.rb
    25 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/alt_system.rb
    26 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/win32.rb
    27 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/application.rb
    28 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/ext/module.rb
    29 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/ext/string.rb
    30 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/ext/time.rb
    31 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/task_argument_error.rb
    32 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/rule_recursion_overflow_error.rb
    33 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/rake_module.rb
    34 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/pseudo_status.rb
    35 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/task_arguments.rb
    36 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/invocation_chain.rb
    37 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/multi_task.rb
    38 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/file_utils.rb
    39 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/file_utils_ext.rb
    40 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/dsl_definition.rb
    41 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/cloneable.rb
    42 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/pathmap.rb
    43 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/file_list.rb
    44 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/default_loader.rb
    45 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/name_space.rb
    46 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake.rb
    47 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/version.rb
    48 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/requirement.rb
    49 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb
    50 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/platform.rb
    51 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/specification.rb
    52 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/path_support.rb
    53 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/clean.rb
    54 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/tasklib.rb
    55 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/syntax_error.rb
    56 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/psych.so
    57 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/stringio.so
    58 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/nodes/node.rb
    59 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/nodes/stream.rb
    60 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/nodes/document.rb
    61 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/nodes/sequence.rb
    62 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/nodes/scalar.rb
    63 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/nodes/mapping.rb
    64 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/nodes/alias.rb
    65 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/nodes.rb
    66 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/streaming.rb
    67 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/visitors/visitor.rb
    68 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/strscan.so
    69 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/scalar_scanner.rb
    70 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/visitors/to_ruby.rb
    71 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/visitors/emitter.rb
    72 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/visitors/yaml_tree.rb
    73 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/json/ruby_events.rb
    74 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/visitors/json_tree.rb
    75 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/visitors/depth_first.rb
    76 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/visitors.rb
    77 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/handler.rb
    78 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/tree_builder.rb
    79 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/parser.rb
    80 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/omap.rb
    81 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/set.rb
    82 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/coder.rb
    83 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/core_ext.rb
    84 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/date_core.so
    85 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/date/format.rb
    86 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/date.rb
    87 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/deprecated.rb
    88 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/stream.rb
    89 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/json/yaml_events.rb
    90 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/json/tree_builder.rb
    91 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/json/stream.rb
    92 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych/handlers/document_stream.rb
    93 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/psych.rb
    94 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/yaml.rb
    95 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/pathname.so
    96 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/pathname.rb
    97 /usr/local/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/rake-compiler-0.8.1/lib/rake/baseextensiontask.rb
    98 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/packagetask.rb
    99 /usr/local/ruby-1.9.3/lib/ruby/site_ruby/1.9.1/rubygems/package_task.rb
    100 /usr/local/ruby-1.9.3/lib/ruby/gems/1.9.1/gems/rake-compiler-0.8.1/lib/rake/extensiontask.rb
    101 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/find.rb
    102 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/socket.so
    103 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/socket.rb
    104 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/timeout.rb
    105 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/net/protocol.rb
    106 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/digest.so
    107 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/digest.rb
    108 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/digest/md5.so

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

Abort (core dumped)

History

#1 Updated by Eric Hodel almost 3 years ago

  • Category changed from core to ext
  • Status changed from Open to Assigned
  • Assignee set to Martin Bosslet

#2 Updated by Eugene M. Zheganin Eugene M. Zheganin almost 3 years ago

I even got a backtrace. But I have no idea why it's so small and uninteresting:

dbx -f /usr/local/ruby-1.9.3/bin/ruby core

For information about new features see help changes'
To remove this message, put
dbxenv suppress_startup_message 7.7' in your .dbxrc
Reading ruby
core file header read successfully
Reading ld.so.1
Reading libpthread.so.1
Reading librt.so.1
Reading libsocket.so.1
Reading libdl.so.1
Reading libm.so.2
Reading libc.so.1
Reading libaio.so.1
Reading libmd.so.1
Reading libnsl.so.1
Reading ru_RU.UTF-8.so.3
Reading methods_unicode.so.3
Reading encdb.so
Reading libgcc_s.so.1
Reading transdb.so
Reading etc.so
Reading psych.so
Reading libyaml-0.so.2.0.2
Reading stringio.so
Reading strscan.so
Reading date_core.so
Reading pathname.so
Reading socket.so
Reading md5.so
Reading libcrypto.so.0.9.7
Reading libcrypto_extra.so.0.9.7
Reading digest.so
Reading openssl.so
Reading libssl.so.1.0.0
Reading libcrypto.so.1.0.0
t@1 (l@1) terminated by signal ABRT (Abort)
0xfffffd7fff1f1aea: _lwp_kill+0x000a: jae _lwp_kill+0x18 [ 0xfffffd7fff1f1af8, .+0xe ]
Current function is rb_bug
284 abort();
(dbx) where
current thread: t@1
[1] _
lwp_kill(0x1, 0x6, 0xffffffffad4b8780, 0xfffffd7fff1f23de, 0x70747468203a736c, 0x722e7777772f2f3a), at 0xfffffd7fff1f1aea
[2] _thr
kill(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff1ea3f3
[3] raise(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff196c39
[4] abort(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7fff175bb0
=>[5] rb_bug(fmt = 0x5dfa6f "Segmentation fault", ...), line 284 in "error.c"
(dbx)

#3 Updated by Eugene M. Zheganin Eugene M. Zheganin almost 3 years ago

I got more interesting bt with SIGSEGV removed from signal.c:

dbx -f /usr/local/ruby-1.9.3/bin/ruby core

For information about new features see help changes'
To remove this message, put
dbxenv suppress_startup_message 7.7' in your .dbxrc
Reading ruby
core file header read successfully
Reading ld.so.1
Reading libpthread.so.1
Reading librt.so.1
Reading libsocket.so.1
Reading libdl.so.1
Reading libm.so.2
Reading libc.so.1
Reading libaio.so.1
Reading libmd.so.1
Reading libnsl.so.1
Reading ru_RU.UTF-8.so.3
Reading methods_unicode.so.3
Reading encdb.so
Reading libgcc_s.so.1
Reading transdb.so
Reading etc.so
Reading psych.so
Reading libyaml-0.so.2.0.2
Reading stringio.so
Reading strscan.so
Reading date_core.so
Reading pathname.so
Reading socket.so
Reading md5.so
Reading libcrypto.so.0.9.7
Reading libcrypto_extra.so.0.9.7
Reading digest.so
Reading openssl.so
Reading libssl.so.1.0.0
Reading libcrypto.so.1.0.0
t@1 (l@1) terminated by signal SEGV (no mapping at the fault address)
0xfffffd7fff164686: strcmp+0x0016: movlpd (%rdi),%xmm1
Current function is Init_openssl
806 OpenSSL_add_ssl_algorithms();
(dbx) where
current thread: t@1
[1] strcmp(0x0, 0x0, 0x2, 0x0, 0xf57cd8, 0x10), at 0xfffffd7fff164686
[2] obj_name_cmp(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffeaa64c3
[3] getrn(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffeaa1a51
[4] lh_insert(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffeaa15ac
[5] OBJ_NAME_add(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffeaa66ac
[6] EVP_add_cipher(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffea95119
[7] SSL_library_init(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffe8faad6
=>[8] Init_openssl(), line 806 in "ossl.c"
[9] dln_load(file = 0xf57bf0 "/usr/local/ruby-1.9.3/lib/ruby/1.9.1/i386-solaris2.10/openssl.so"), line 1339 in "dln.c"
[10] load_ext(path = 11634800U), line 586 in "load.c"
[11] rb_vm_call_cfunc(recv = 8115960U, func = 0x5a3a7a = &rubyload.cload_ext(VALUE path), arg = 11634800U, blockptr = (nil), filename = 11634800U), line 1538 in "vm.c"
[12] rb_require_safe(fname = 11636000U, safe = 0), line 623 in "load.c"
[13] rb_f_require(obj = 8115960U, fname = 11636120U), line 465 in "load.c"
[14] call_cfunc(func = 0x5a3386 = &rb_f_require(VALUE obj, VALUE fname), recv = 8115960U, len = 1, argc = 1, argv = 0x65d138), line 323 in "vm_insnhelper.c"
[15] vm_call_cfunc(th = 0x656a90, reg_cfp = 0x75c408, num = 1, recv = 8115960U, blockptr = (nil), me = 0x8b9c00), line 404 in "vm_insnhelper.c"
[16] vm_call_method(th = 0x656a90, cfp = 0x75c408, num = 1, blockptr = (nil), flag = 8U, id = 14424U, me = 0x8b9c00, recv = 8115960U), line 534 in "vm_insnhelper.c"
[17] vm_exec_core(th = 0x656a90, initial = 0), line 1015 in "insns.def"
[18] vm_exec(th = 0x656a90), line 1220 in "vm.c"
[19] rb_iseq_eval(iseqval = 11636520U), line 1447 in "vm.c"
[20] rb_load_internal(fname = 11645120U, wrap = 0), line 310 in "load.c"
[21] rb_require_safe(fname = 11647680U, safe = 0), line 619 in "load.c"
[22] rb_f_require(obj = 8115960U, fname = 11647760U), line 465 in "load.c"
[23] call_cfunc(func = 0x5a3386 = &rb_f_require(VALUE obj, VALUE fname), recv = 8115960U, len = 1, argc = 1, argv = 0x65d0c0), line 323 in "vm_insnhelper.c"
[24] vm_call_cfunc(th = 0x656a90, reg_cfp = 0x75c568, num = 1, recv = 8115960U, blockptr = (nil), me = 0x8b9c00), line 404 in "vm_insnhelper.c"
[25] vm_call_method(th = 0x656a90, cfp = 0x75c568, num = 1, blockptr = (nil), flag = 8U, id = 14424U, me = 0x8b9c00, recv = 8115960U), line 534 in "vm_insnhelper.c"
[26] vm_exec_core(th = 0x656a90, initial = 0), line 1015 in "insns.def"
[27] vm_exec(th = 0x656a90), line 1220 in "vm.c"
[28] rb_iseq_eval(iseqval = 11581880U), line 1447 in "vm.c"
[29] rb_load_internal(fname = 11930120U, wrap = 0), line 310 in "load.c"
[30] rb_require_safe(fname = 11931480U, safe = 0), line 619 in "load.c"
[31] rb_f_require(obj = 8115960U, fname = 11931520U), line 465 in "load.c"
[32] call_cfunc(func = 0x5a3386 = &rb_f_require(VALUE obj, VALUE fname), recv = 8115960U, len = 1, argc = 1, argv = 0x65d048), line 323 in "vm_insnhelper.c"
[33] vm_call_cfunc(th = 0x656a90, reg_cfp = 0x75c6c8, num = 1, recv = 8115960U, blockptr = (nil), me = 0x8b9c00), line 404 in "vm_insnhelper.c"
[34] vm_call_method(th = 0x656a90, cfp = 0x75c6c8, num = 1, blockptr = (nil), flag = 8U, id = 14424U, me = 0x8b9c00, recv = 8115960U), line 534 in "vm_insnhelper.c"
[35] vm_exec_core(th = 0x656a90, initial = 0), line 1015 in "insns.def"
[36] vm_exec(th = 0x656a90), line 1220 in "vm.c"
[37] rb_iseq_eval(iseqval = 11950000U), line 1447 in "vm.c"
[38] rb_load_internal(fname = 12503360U, wrap = 0), line 310 in "load.c"
[39] rb_f_load(argc = 1, argv = 0x65cfb8), line 383 in "load.c"
[40] call_cfunc(func = 0x5a316f = &
rubyload.crb_f_load(int argc, VALUE *argv), recv = 10072600U, len = -1, argc = 1, argv = 0x65cfb8), line 317 in "vm_insnhelper.c"
[41] vm_call_cfunc(th = 0x656a90, reg_cfp = 0x75c880, num = 1, recv = 10072600U, blockptr = (nil), me = 0x860be0), line 404 in "vm_insnhelper.c"
[42] vm_call_method(th = 0x656a90, cfp = 0x75c880, num = 1, blockptr = (nil), flag = 8U, id = 6040U, me = 0x860be0, recv = 10072600U), line 534 in "vm_insnhelper.c"
[43] vm_exec_core(th = 0x656a90, initial = 0), line 1015 in "insns.def"
[44] vm_exec(th = 0x656a90), line 1220 in "vm.c"
[45] rb_iseq_eval(iseqval = 10152800U), line 1447 in "vm.c"
[46] rb_load_internal(fname = 10157400U, wrap = 0), line 310 in "load.c"
[47] rb_f_load(argc = 1, argv = 0x65ce48), line 383 in "load.c"
[48] call_cfunc(func = 0x5a316f = &rubyload.c`rb_f_load(int argc, VALUE *argv), recv = 8115960U, len = -1, argc = 1, argv = 0x65ce48), line 317 in "vm_insnhelper.c"
[49] vm_call_cfunc(th = 0x656a90, reg_cfp = 0x75ccf8, num = 1, recv = 8115960U, blockptr = (nil), me = 0x860be0), line 404 in "vm_insnhelper.c"
[50] vm_call_method(th = 0x656a90, cfp = 0x75ccf8, num = 1, blockptr = (nil), flag = 8U, id = 6040U, me = 0x860be0, recv = 8115960U), line 534 in "vm_insnhelper.c"
[51] vm_exec_core(th = 0x656a90, initial = 0), line 1015 in "insns.def"
[52] vm_exec(th = 0x656a90), line 1220 in "vm.c"
[53] rb_iseq_eval_main(iseqval = 10080600U), line 1461 in "vm.c"
[54] ruby_exec_internal(n = 0x99d158), line 204 in "eval.c"
[55] ruby_exec_node(n = 0x99d158), line 251 in "eval.c"
[56] ruby_run_node(n = 0x99d158), line 244 in "eval.c"
[57] main(argc = 2, argv = 0xfffffd7fffdff8d8), line 38 in "main.c"
(dbx)

#4 Updated by Eric Hodel almost 3 years ago

What version of OpenSSL are you using?

#5 Updated by Naohisa Goto almost 3 years ago

Reading libcrypto.so.0.9.7
Reading libcrypto_extra.so.0.9.7
Reading digest.so
Reading openssl.so
Reading libssl.so.1.0.0
Reading libcrypto.so.1.0.0

According to the above dbx output, it seems both OpenSSL 0.9.7 and 1.0.0 were loaded.
I think the duplicated loading of different OpenSSL versions would be a cause of SEGV.

#6 Updated by Eugene M. Zheganin Eugene M. Zheganin almost 3 years ago

I have indeed 0.9.7 in base system and 1.0.0 built from sources, installed in different prefixes. Is there a way of building ruby only with a particular openssl version ?

#7 Updated by Naohisa Goto almost 3 years ago

To set the environment variable PKG_CONFIG_PATH when building ruby from source might help.
For example, export PKG_CONFIG_PATH=/usr/local/64/lib/pkgconfig:/usr/lib/64/pkgconfig
See man pkg-config for details.

#8 Updated by Naohisa Goto almost 3 years ago

  • Status changed from Assigned to Feedback
  • Assignee changed from Martin Bosslet to Naohisa Goto
  • Priority changed from Normal to 3

#9 Updated by Eric Hodel over 2 years ago

  • Status changed from Feedback to Rejected

Marking rejected due to lack of feedback from the submitter.

Also available in: Atom PDF