In article <200911062250.nA6Mo69d010341 / ci.ruby-lang.org>,
  tenderlove / ruby-lang.org writes:

> tenderlove	2009-11-07 07:50:05 +0900 (Sat, 07 Nov 2009)
>
>   New Revision: 25678
>
>   http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=25678
>
>   Log:
>     * ext/dl/cptr.c (rb_dlptr_s_malloc, rb_dlptr_initialize): adding
>       documentation
>     * test/dl/test_cptr.rb (**): testing that malloc works when passed free
>       functions
>
>   Modified files:
>     trunk/ext/dl/cptr.c
>     trunk/test/dl/test_cptr.rb

It seems this commit causes SEGV in openssl tests.

test-all finished before the commit:
http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20091107T062200.log.txt.gz

test-all aborted after the commit:
http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20091107T094000.log.txt.gz

It is reproducible as follows:

% ./ruby test/runner.rb -v test/dl/test_cptr.rb openssl
Loaded suite test/runner
Started
DL::TestBase#test_empty: 0.19 s: .
DL::TestCPtr#test_aref_aset: 0.01 s: .
DL::TestCPtr#test_cmp: 0.00 s: .
DL::TestCPtr#test_empty: 0.00 s: .
DL::TestCPtr#test_equals: 0.00 s: .
DL::TestCPtr#test_free: 0.00 s: .
DL::TestCPtr#test_free=: 0.11 s: F
DL::TestCPtr#test_inspect: 0.00 s: .
DL::TestCPtr#test_malloc_free_func: 0.00 s: .
DL::TestCPtr#test_malloc_free_func_int: 0.00 s: .
DL::TestCPtr#test_minus: 0.00 s: .
DL::TestCPtr#test_not_equals: 0.00 s: .
DL::TestCPtr#test_null?: 0.00 s: .
DL::TestCPtr#test_plus: 0.00 s: .
DL::TestCPtr#test_ref_ptr: 0.00 s: .
DL::TestCPtr#test_size: 0.00 s: .
DL::TestCPtr#test_size=: 0.00 s: .
DL::TestCPtr#test_to_ptr_io: 0.00 s: .
DL::TestCPtr#test_to_ptr_string: 0.00 s: .
DL::TestCPtr#test_to_ptr_with_num: 0.00 s: .
DL::TestCPtr#test_to_ptr_with_ptr: 0.00 s: .
DL::TestCPtr#test_to_s: 0.00 s: .
DL::TestCPtr#test_to_str: 0.00 s: .
DL::TestCPtr#test_to_value: 0.00 s: .
OpenSSL::TestASN1#test_decode: 0.05 s: .
OpenSSL::TestCipher#test_AES: 0.06 s: .
OpenSSL::TestCipher#test_ciphers: 0.00 s: .
OpenSSL::TestCipher#test_crypt: 0.02 s: .
OpenSSL::TestCipher#test_dup: 0.00 s: .
OpenSSL::TestCipher#test_empty_data: 0.00 s: .
OpenSSL::TestCipher#test_info: 0.00 s: .
OpenSSL::TestCipher#test_reset: 0.00 s: .
OpenSSL::TestDigest#test_098_features: 0.00 s: .
OpenSSL::TestDigest#test_digest: 0.00 s: .
OpenSSL::TestDigest#test_dup: 0.00 s: .
OpenSSL::TestDigest#test_eql: 0.00 s: .
OpenSSL::TestDigest#test_info: 0.00 s: .
OpenSSL::TestDigest#test_reset: 0.00 s: .
OpenSSL::TestEC#test_check_key: 0.04 s: .
OpenSSL::TestEC#test_curve_names: 0.01 s: .
OpenSSL::TestEC#test_dh_compute_key: 0.16 s: .
OpenSSL::TestEC#test_dsa_sign_verify: /home/ruby/tcio/ruby/test/openssl/test_ec.rb:92: [BUG] Segmentation fault
ruby 1.9.2dev (2009-11-08 trunk 25690) [i686-linux]

-- control frame ----------
c:0021 p:---- s:0076 b:0076 l:000075 d:000075 CFUNC  :new
c:0020 p:---- s:0074 b:0074 l:000073 d:000073 CFUNC  :dsa_sign_asn1
c:0019 p:0014 s:0070 b:0070 l:002404 d:000069 BLOCK  /home/ruby/tcio/ruby/test/openssl/test_ec.rb:92
c:0018 p:0053 s:0068 b:0068 l:000067 d:000067 METHOD /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:141
c:0017 p:0015 s:0061 b:0061 l:000060 d:000060 METHOD /home/ruby/tcio/lib/ruby/1.9.1/test/unit/assertions.rb:14
c:0016 p:0065 s:0056 b:0056 l:002404 d:000078 BLOCK  /home/ruby/tcio/ruby/test/openssl/test_ec.rb:92
c:0015 p:---- s:0053 b:0053 l:000052 d:000052 FINISH
c:0014 p:---- s:0051 b:0051 l:000050 d:000050 CFUNC  :each
c:0013 p:0013 s:0048 b:0048 l:002404 d:002404 METHOD /home/ruby/tcio/ruby/test/openssl/test_ec.rb:88
c:0012 p:0063 s:0043 b:0043 l:000042 d:000042 METHOD /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:458
c:0011 p:0091 s:0037 b:0037 l:000018 d:000036 BLOCK  /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:426
c:0010 p:---- s:0032 b:0032 l:000031 d:000031 FINISH
c:0009 p:---- s:0030 b:0030 l:000029 d:000029 CFUNC  :each
c:0008 p:0026 s:0027 b:0027 l:000018 d:000026 BLOCK  /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:420
c:0007 p:---- s:0024 b:0024 l:000023 d:000023 FINISH
c:0006 p:---- s:0022 b:0022 l:000021 d:000021 CFUNC  :each
c:0005 p:0082 s:0019 b:0019 l:000018 d:000018 METHOD /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:419
c:0004 p:0154 s:0014 b:0014 l:000013 d:000013 METHOD /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:393
c:0003 p:0041 s:0007 b:0007 l:0022a4 d:000006 BLOCK  /home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:334
c:0002 p:---- s:0004 b:0004 l:000003 d:000003 FINISH
c:0001 p:0000 s:0002 b:0002 l:000814 d:000814 TOP   
---------------------------
/home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:334:in `block in autorun'
/home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:393:in `run'
/home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:419:in `run_test_suites'
/home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:419:in `each'
/home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:420:in `block in run_test_suites'
/home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:420:in `each'
/home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:426:in `block (2 levels) in run_test_suites'
/home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:458:in `run'
/home/ruby/tcio/ruby/test/openssl/test_ec.rb:88:in `test_dsa_sign_verify'
/home/ruby/tcio/ruby/test/openssl/test_ec.rb:88:in `each'
/home/ruby/tcio/ruby/test/openssl/test_ec.rb:92:in `block in test_dsa_sign_verify'
/home/ruby/tcio/lib/ruby/1.9.1/test/unit/assertions.rb:14:in `assert_raise'
/home/ruby/tcio/lib/ruby/1.9.1/minitest/unit.rb:141:in `assert_raises'
/home/ruby/tcio/ruby/test/openssl/test_ec.rb:92:in `block (2 levels) in test_dsa_sign_verify'
/home/ruby/tcio/ruby/test/openssl/test_ec.rb:92:in `dsa_sign_asn1'
/home/ruby/tcio/ruby/test/openssl/test_ec.rb:92:in `new'

-- C level backtrace information -------------------------------------------
./ruby(rb_vm_bugreport+0x6c) [0x8150682]
./ruby [0x8182d19]
./ruby(rb_bug+0x36) [0x8182d74]
./ruby [0x80eb56e]
[0xb7f25410]
/lib/libc.so.6(cfree+0x9c) [0xb77096ec]
/home/ruby/tcio/lib/ruby/1.9.1/i686-linux/dl.so [0xb7a3b4cf]
./ruby [0x8066908]
./ruby [0x8065252]
./ruby [0x8066abc]
./ruby [0x8066acf]
./ruby(rb_gc_finalize_deferred+0x19) [0x8066af5]
./ruby [0x8152b48]
./ruby(rb_threadptr_execute_interrupts+0x19) [0x8152c2b]
./ruby [0x81490a1]
./ruby [0x8149c18]
./ruby [0x8149b6b]
./ruby(rb_funcall+0xa2) [0x8149cc2]
./ruby(rb_obj_alloc+0x99) [0x808db3b]
./ruby(rb_class_new_instance+0x11) [0x808dbe6]
./ruby [0x8146027]
./ruby [0x8148d87]
./ruby [0x8149c18]
./ruby [0x8149b6b]
./ruby(rb_funcall+0xa2) [0x8149cc2]
./ruby(rb_exc_new+0x60) [0x8183133]
/home/ruby/tcio/lib/ruby/1.9.1/i686-linux/openssl.so [0xb79fd08f]
/home/ruby/tcio/lib/ruby/1.9.1/i686-linux/openssl.so(ossl_raise+0x31) [0xb79fd0c9]
/home/ruby/tcio/lib/ruby/1.9.1/i686-linux/openssl.so [0xb79f8d8d]
./ruby [0x814605c]
./ruby [0x8145ed6]
./ruby [0x8145415]
./ruby [0x81410e9]
./ruby [0x814dc7f]
./ruby [0x814c9cb]
./ruby [0x814ca59]
./ruby [0x8149e89]
./ruby(rb_yield+0x3a) [0x8149e5f]
./ruby(rb_ary_each+0x7c) [0x815fd88]
./ruby [0x814603d]
./ruby [0x8145ed6]
./ruby [0x8145415]
./ruby [0x81410e9]
./ruby [0x814dc7f]
./ruby [0x814c9cb]
./ruby [0x814ca59]
./ruby [0x8149e89]
./ruby(rb_yield+0x3a) [0x8149e5f]
./ruby(rb_ary_each+0x7c) [0x815fd88]
./ruby [0x814603d]
./ruby [0x8145ed6]
./ruby [0x8145415]
./ruby [0x81410e9]
./ruby [0x814dc7f]
./ruby [0x814c9cb]
./ruby [0x814ca59]
./ruby [0x8149e89]
./ruby(rb_yield+0x3a) [0x8149e5f]
./ruby(rb_ary_each+0x7c) [0x815fd88]
./ruby [0x814603d]
./ruby [0x8145ed6]
./ruby [0x8145415]
./ruby [0x81410e9]
./ruby [0x814dc7f]
./ruby [0x814c9cb]
./ruby(rb_vm_invoke_proc+0xb0) [0x814cb0b]
./ruby(rb_proc_call+0x8e) [0x806048c]
./ruby(rb_call_end_proc+0x1a) [0x805dc36]
./ruby(rb_exec_end_proc+0x174) [0x805ded7]
./ruby [0x805e134]
./ruby(ruby_cleanup+0x92) [0x805e200]
./ruby(ruby_run_node+0x43) [0x805e560]
./ruby(main+0x74) [0x805d068]
/lib/i686/cmov/libc.so.6(__libc_start_main+0xe5) [0xb7d45455]
./ruby [0x805cf61]

[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
-- 
Tanaka Akira