Project

General

Profile

Actions

Bug #4966

closed

OpenSSL まわりで GC.stress で [BUG]

Added by metanest (Makoto Kishimoto) over 12 years ago. Updated over 12 years ago.

Status:
Closed
Assignee:
-
Target version:
ruby -v:
ruby 1.9.3dev (2011-07-03 trunk 32373) [x86_64-freebsd8.2]
Backport:
[ruby-dev:44025]

Description

私の環境で、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 :/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


Files

typescript.txt (9.05 KB) typescript.txt バックトレース metanest (Makoto Kishimoto), 07/03/2011 05:45 PM
Actions

Also available in: Atom PDF

Like0
Like0Like0