Bug #7008

rake is crashing when trying to compile ffi gem

Added by Eugene M. Zheganin Eugene M. Zheganin over 1 year ago. Updated about 1 year ago.

[ruby-core:47481]
Status:Rejected
Priority:Low
Assignee:Naohisa Goto
Category:ext
Target version:-
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/siteruby/1.9.1/rubygems/customrequire.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/siteruby/1.9.1/rubygems/customrequire.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/siteruby/1.9.1/rubygems/customrequire.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/rakemodule.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
standardexceptionhandling'
/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
rawloadrakefile'
/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/rakemodule.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/customrequire.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/customrequire.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/siteruby/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/siteruby/1.9.1/rubygems/exceptions.rb
    7 /usr/local/ruby-1.9.3/lib/ruby/site
    ruby/1.9.1/rubygems/customrequire.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/invocationexceptionmixin.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/earlytime.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/filecreationtask.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/taskmanager.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/taskargumenterror.rb
    32 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/rulerecursionoverflowerror.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/pseudostatus.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/invocationchain.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/fileutils.rb
    39 /usr/local/ruby-1.9.3/lib/ruby/1.9.1/rake/file
    utilsext.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/filelist.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/namespace.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/siteruby/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/siteruby/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/siteruby/1.9.1/rubygems/pathsupport.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/syntaxerror.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/toruby.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/rubyevents.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/depthfirst.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/coreext.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/yamlevents.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/documentstream.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 over 1 year 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 over 1 year 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 suppressstartupmessage 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 ruRU.UTF-8.so.3
Reading methods
unicode.so.3
Reading encdb.so
Reading libgccs.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 libcryptoextra.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: _
lwpkill+0x000a: jae _lwpkill+0x18 [ 0xfffffd7fff1f1af8, .+0xe ]
Current function is rb
bug
284 abort();
(dbx) where
current thread: t@1
[1] _lwpkill(0x1, 0x6, 0xffffffffad4b8780, 0xfffffd7fff1f23de, 0x70747468203a736c, 0x722e7777772f2f3a), at 0xfffffd7fff1f1aea
[2] thrkill(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 over 1 year 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 suppressstartupmessage 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 ruRU.UTF-8.so.3
Reading methods
unicode.so.3
Reading encdb.so
Reading libgccs.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 libcryptoextra.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 OpenSSLaddsslalgorithms();
(dbx) where
current thread: t@1
[1] strcmp(0x0, 0x0, 0x2, 0x0, 0xf57cd8, 0x10), at 0xfffffd7fff164686
[2] obj
namecmp(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] OBJNAMEadd(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffeaa66ac
[6] EVPaddcipher(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffea95119
[7] SSLlibraryinit(0x0, 0x0, 0x0, 0x0, 0x0, 0x0), at 0xfffffd7ffe8faad6
=>[8] Initopenssl(), 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] loadext(path = 11634800U), line 586 in "load.c"
[11] rb
vmcallcfunc(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.crbfload(int argc, VALUE *argv), recv = 10072600U, len = -1, argc = 1, argv = 0x65cfb8), line 317 in "vminsnhelper.c"
[41] vm
callcfunc(th = 0x656a90, regcfp = 0x75c880, num = 1, recv = 10072600U, blockptr = (nil), me = 0x860be0), line 404 in "vminsnhelper.c"
[42] vm
callmethod(th = 0x656a90, cfp = 0x75c880, num = 1, blockptr = (nil), flag = 8U, id = 6040U, me = 0x860be0, recv = 10072600U), line 534 in "vminsnhelper.c"
[43] vmexeccore(th = 0x656a90, initial = 0), line 1015 in "insns.def"
[44] vmexec(th = 0x656a90), line 1220 in "vm.c"
[45] rb
iseqeval(iseqval = 10152800U), line 1447 in "vm.c"
[46] rb
loadinternal(fname = 10157400U, wrap = 0), line 310 in "load.c"
[47] rb
fload(argc = 1, argv = 0x65ce48), line 383 in "load.c"
[48] call
cfunc(func = 0x5a316f = &rubyload.c`rbfload(int argc, VALUE *argv), recv = 8115960U, len = -1, argc = 1, argv = 0x65ce48), line 317 in "vminsnhelper.c"
[49] vm
callcfunc(th = 0x656a90, regcfp = 0x75ccf8, num = 1, recv = 8115960U, blockptr = (nil), me = 0x860be0), line 404 in "vminsnhelper.c"
[50] vm
callmethod(th = 0x656a90, cfp = 0x75ccf8, num = 1, blockptr = (nil), flag = 8U, id = 6040U, me = 0x860be0, recv = 8115960U), line 534 in "vminsnhelper.c"
[51] vmexeccore(th = 0x656a90, initial = 0), line 1015 in "insns.def"
[52] vmexec(th = 0x656a90), line 1220 in "vm.c"
[53] rb
iseqevalmain(iseqval = 10080600U), line 1461 in "vm.c"
[54] rubyexecinternal(n = 0x99d158), line 204 in "eval.c"
[55] rubyexecnode(n = 0x99d158), line 251 in "eval.c"
[56] rubyrunnode(n = 0x99d158), line 244 in "eval.c"
[57] main(argc = 2, argv = 0xfffffd7fffdff8d8), line 38 in "main.c"
(dbx)

#4 Updated by Eric Hodel over 1 year ago

What version of OpenSSL are you using?

#5 Updated by Naohisa Goto over 1 year 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 over 1 year 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 over 1 year ago

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

#8 Updated by Naohisa Goto over 1 year ago

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

#9 Updated by Eric Hodel about 1 year ago

  • Status changed from Feedback to Rejected

Marking rejected due to lack of feedback from the submitter.

Also available in: Atom PDF