Issue #4966 has been reported by Makoto Kishimoto.

----------------------------------------
Bug #4966: OpenSSL まわりで GC.stress で [BUG]
http://redmine.ruby-lang.org/issues/4966

Author: Makoto Kishimoto
Status: Open
Priority: Normal
Assignee: 
Category: ext
Target version: 1.9.3
ruby -v: ruby 1.9.3dev (2011-07-03 trunk 32373) [x86_64-freebsd8.2]


私の環境で、trunk の r32371 以降で(ですが、おそらくその変更で、潜んでいたバグが顕在化した模様)以下のようなスクリプトで以下のように [BUG] になります

/usr/local/lib/ruby/1.9.1/openssl/ssl-internal.rb:162: [BUG] gc_sweep(): unknown data type 0x0(0x80134fdd8)

全メッセージとバックトレースは添付ファイルにしました

また、test-all が OpenSSL::TestSSL#test_parallel でこれを踏んで途中で止まります

$ uname -a
FreeBSD norikura.localdomain 8.2-STABLE FreeBSD 8.2-STABLE #0 r223459: Thu Jun 30 19:24:47 JST 2011     ksmakoto / norikura.localdomain:/export/obj/usr/src/sys/NORIKURA20110630  amd64

$ cat foo.rb
require "openssl"
require "socket"

GC.stress = true

tcps = nil
port = 20443
begin
  tcps = TCPServer.new("127.0.0.1", port)
rescue Errno::EADDRINUSE
  port += 1
  retry
end
ssls = OpenSSL::SSL::SSLServer.new(tcps, OpenSSL::SSL::SSLContext.new)
ssls.start_immediately = true
Thread.new{
  Thread.current.abort_on_exception = true
  loop{
    ssls.accept
  }
}
sock = TCPSocket.new("127.0.0.1", port.to_i)
ssl = OpenSSL::SSL::SSLSocket.new(sock)
ssl.connect


-- 
http://redmine.ruby-lang.org