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