test/rinda/test_rinda.rb: try debugging TestRingServer#test_do_reply
https://rubyci.org/logs/rubyci.s3.amazonaws.com/rhel8/ruby-master/log/20201016T063003Z.fail.html.gz ``` 1) Error: Rinda::TestRingServer#test_do_reply: Timeout::Error: timeout /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:837:in `sleep' /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:837:in `wait_for' /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:659:in `_test_do_reply' /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:643:in `block in test_do_reply' /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:807:in `with_timeout' /home/chkbuild/chkbuild/tmp/build/20201016T063003Z/ruby/test/rinda/test_rinda.rb:643:in `test_do_reply' ```
This commit is contained in:
parent
1cbb1f1720
commit
de5e8d0e3b
@ -620,6 +620,7 @@ end
|
|||||||
class TestRingServer < Test::Unit::TestCase
|
class TestRingServer < Test::Unit::TestCase
|
||||||
|
|
||||||
def setup
|
def setup
|
||||||
|
@aoe_back = Thread.abort_on_exception
|
||||||
@port = Rinda::Ring_PORT
|
@port = Rinda::Ring_PORT
|
||||||
|
|
||||||
@ts = Rinda::TupleSpace.new
|
@ts = Rinda::TupleSpace.new
|
||||||
@ -627,6 +628,7 @@ class TestRingServer < Test::Unit::TestCase
|
|||||||
@server = DRb.start_service("druby://localhost:0")
|
@server = DRb.start_service("druby://localhost:0")
|
||||||
end
|
end
|
||||||
def teardown
|
def teardown
|
||||||
|
Thread.abort_on_exception = @aoe_back
|
||||||
@rs.shutdown
|
@rs.shutdown
|
||||||
# implementation-dependent
|
# implementation-dependent
|
||||||
@ts.instance_eval{
|
@ts.instance_eval{
|
||||||
@ -800,7 +802,12 @@ class TestRingServer < Test::Unit::TestCase
|
|||||||
tl = nil
|
tl = nil
|
||||||
th = Thread.new(Thread.current) do |mth|
|
th = Thread.new(Thread.current) do |mth|
|
||||||
sleep n
|
sleep n
|
||||||
(tl = Thread.list - tl0).each {|t|t.raise(Timeout::Error)}
|
puts "...timeout! Show the backtraces of all living threads"
|
||||||
|
(tl = Thread.list - tl0).each_with_index do |t, i|
|
||||||
|
puts "Thread #{ i }: #{ t.inspect }", *t.backtrace, ""
|
||||||
|
t.raise(Timeout::Error)
|
||||||
|
end
|
||||||
|
puts "and then raise Timeout::Error to the main thread"
|
||||||
mth.raise(Timeout::Error)
|
mth.raise(Timeout::Error)
|
||||||
end
|
end
|
||||||
tl0 << th
|
tl0 << th
|
||||||
|
Loading…
x
Reference in New Issue
Block a user