Hacktoberfest 2026: những issue maintainer đã đánh dấu cho tháng Mười, đang mở và phù hợp người mới. Xem issue Hacktoberfest

Failures in test suite running on JRuby

Đang mở
#36 7 bình luận 0 reaction 0 người được giao Xem trên GitHub

Chưa có ai nhận issue này.

Đánh giá

Độ khó
4/5
Thời gian dự kiến
3-5 ngày
Mức phù hợp với người mới
30/100
Loại issue
Lỗi
Độ rõ ràng
Cần làm rõ
Mức độ hoạt động
Đình trệ
Công nghệ
ruby

Hướng nghiên cứu

Bắt đầu bằng cách tái hiện các lỗi JRuby trong test/drb/drbtest.rb và test/drb/ut_array_drbssl.rb, sau đó lần theo các đường dẫn được báo cáo qua lib/drb/drb.rb và lib/drb/ssl.rb. So sánh từng lỗi với các test được tham chiếu và issue của JRuby để phân biệt những khác biệt hành vi được dự kiến với lỗi hoặc vấn đề cấu hình. Công việc được xem là hoàn tất khi các lỗi đã được giải thích và được sửa, biện minh hoặc loại khỏi JRuby CI với lý do được ghi lại.

Do mô hình lập chỉ mục viết ra từ nội dung của issue.

Mô tả

There are a few failures during the test suite on JRuby. We will want to investigate them so we can get JRuby into CI.

Some of these may be expected failures due to behavioral differences on JRuby, like concurrency and GC differences.

  • ArgumentError in test_bug16634: https://github.com/jruby/jruby/issues/8798

  • Connection closed during test_05_break and test_07_break_18. If these are intermittent they may be a thread race or other concurrency-related failure.

Error: test_05_break(DRbTests::TestDRbAry): DRb::DRbConnError: connection closed
/Users/headius/work/drb/lib/drb/drb.rb:613:in 'load'
/Users/headius/work/drb/lib/drb/drb.rb:668:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:970:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:1353:in 'send_message'
/Users/headius/work/drb/lib/drb/drb.rb:1172:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1331:in 'open'
/Users/headius/work/drb/lib/drb/drb.rb:1171:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1190:in 'with_friend'
/Users/headius/work/drb/lib/drb/drb.rb:1170:in 'method_missing'
/Users/headius/work/drb/test/drb/drbtest.rb:366:in 'test_05_break'
     363: 
     364:   def test_05_break
     365:     ary = []
  => 366:     @there.each do |x|
     367:       ary.push x
     368:       break if x == 4
     369:     end

Error: test_07_break_18(DRbTests::TestDRbAry): DRb::DRbConnError: connection closed
/Users/headius/work/drb/lib/drb/drb.rb:613:in 'load'
/Users/headius/work/drb/lib/drb/drb.rb:668:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:970:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:1353:in 'send_message'
/Users/headius/work/drb/lib/drb/drb.rb:1172:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1331:in 'open'
/Users/headius/work/drb/lib/drb/drb.rb:1171:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1190:in 'with_friend'
/Users/headius/work/drb/lib/drb/drb.rb:1170:in 'method_missing'
(eval at /Users/headius/work/drb/test/drb/drbtest.rb:382):3:in 'test_07_break_18'

Error: test_05_break(DRbTests::TestDRbSafe1): DRb::DRbConnError: connection closed
/Users/headius/work/drb/lib/drb/drb.rb:613:in 'load'
/Users/headius/work/drb/lib/drb/drb.rb:668:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:970:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:1353:in 'send_message'
/Users/headius/work/drb/lib/drb/drb.rb:1172:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1331:in 'open'
/Users/headius/work/drb/lib/drb/drb.rb:1171:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1196:in 'with_friend'
/Users/headius/work/drb/lib/drb/drb.rb:1170:in 'method_missing'
/Users/headius/work/drb/test/drb/drbtest.rb:366:in 'test_05_break'
     363: 
     364:   def test_05_break
     365:     ary = []
  => 366:     @there.each do |x|
     367:       ary.push x
     368:       break if x == 4
     369:     end

Error: test_07_break_18(DRbTests::TestDRbSafe1): DRb::DRbConnError: connection closed
/Users/headius/work/drb/lib/drb/drb.rb:613:in 'load'
/Users/headius/work/drb/lib/drb/drb.rb:668:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:970:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:1353:in 'send_message'
/Users/headius/work/drb/lib/drb/drb.rb:1172:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1331:in 'open'
/Users/headius/work/drb/lib/drb/drb.rb:1171:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1196:in 'with_friend'
/Users/headius/work/drb/lib/drb/drb.rb:1170:in 'method_missing'
(eval at /Users/headius/work/drb/test/drb/drbtest.rb:382):3:in 'test_07_break_18'

Error: test_05_break(DRbTests::TestDRbUNIXAry): DRb::DRbConnError: connection closed
/Users/headius/work/drb/lib/drb/drb.rb:613:in 'load'
/Users/headius/work/drb/lib/drb/drb.rb:668:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:970:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:1353:in 'send_message'
/Users/headius/work/drb/lib/drb/drb.rb:1172:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1331:in 'open'
/Users/headius/work/drb/lib/drb/drb.rb:1171:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1196:in 'with_friend'
/Users/headius/work/drb/lib/drb/drb.rb:1170:in 'method_missing'
/Users/headius/work/drb/test/drb/drbtest.rb:366:in 'test_05_break'
     363: 
     364:   def test_05_break
     365:     ary = []
  => 366:     @there.each do |x|
     367:       ary.push x
     368:       break if x == 4
     369:     end

Error: test_07_break_18(DRbTests::TestDRbUNIXAry): DRb::DRbConnError: connection closed
/Users/headius/work/drb/lib/drb/drb.rb:613:in 'load'
/Users/headius/work/drb/lib/drb/drb.rb:668:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:970:in 'recv_reply'
/Users/headius/work/drb/lib/drb/drb.rb:1353:in 'send_message'
/Users/headius/work/drb/lib/drb/drb.rb:1172:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1331:in 'open'
/Users/headius/work/drb/lib/drb/drb.rb:1171:in 'block in method_missing'
/Users/headius/work/drb/lib/drb/drb.rb:1196:in 'with_friend'
/Users/headius/work/drb/lib/drb/drb.rb:1170:in 'method_missing'
(eval at /Users/headius/work/drb/test/drb/drbtest.rb:382):3:in 'test_07_break_18'
  • Oddity in reported name from a remote object (I think?):
Failure: test_02_unknown(DRbTests::TestDRbCore)
/Users/headius/work/drb/test/drb/drbtest.rb:177:in 'test_02_unknown'
     174: 
     175:     obj = @there.unknown_module
     176:     assert_kind_of(DRb::DRbUnknown, obj)
  => 177:     assert_equal('DRbTests::DRbEx::', obj.name)
     178: 
     179:     assert_raise(DRb::DRbUnknownError) do
     180:       @there.unknown_error
org/jruby/RubyKernel.java:1397:in 'catch'
org/jruby/RubyKernel.java:1392:in 'catch'
org/jruby/RubyArray.java:2079:in 'each'
org/jruby/RubyArray.java:2079:in 'each'
org/jruby/RubyKernel.java:1397:in 'catch'
org/jruby/RubyKernel.java:1392:in 'catch'
<"DRbTests::DRbEx::"> expected but was
<"DRbTests::DRbEx::FooBar">
  • Missing method on a remote object?
Failure: test_11_remote_no_method_error(DRbTests::TestDRbCore): [DRb::DRbRemoteError] exception expected, not #<NoMethodError: undefined method 'invoke_no_method' for an instance of DRbTests::DRbEx>.
/Users/headius/work/jruby/lib/ruby/gems/shared/bundler/gems/test-unit-ruby-core-04bbdf8d1f83/lib/core_assertions.rb:454:in 'block in assert_raise'
/Users/headius/work/jruby/lib/ruby/gems/shared/bundler/gems/test-unit-ruby-core-04bbdf8d1f83/lib/core_assertions.rb:540:in 'assert'
/Users/headius/work/jruby/lib/ruby/gems/shared/bundler/gems/test-unit-ruby-core-04bbdf8d1f83/lib/core_assertions.rb:453:in 'assert_raise'
/Users/headius/work/drb/test/drb/drbtest.rb:313:in 'test_11_remote_no_method_error'
     310:   end
     311: 
     312:   def test_11_remote_no_method_error
  => 313:     assert_raise(DRb::DRbRemoteError) do
     314:       @there.remote_no_method_error
     315:     end
     316:     begin

Failure: test_11_remote_no_method_error(DRbTests::TestDRbUNIXCore): [DRb::DRbRemoteError] exception expected, not #<NoMethodError: undefined method 'invoke_no_method' for an instance of DRbTests::DRbEx>.
/Users/headius/work/jruby/lib/ruby/gems/shared/bundler/gems/test-unit-ruby-core-04bbdf8d1f83/lib/core_assertions.rb:454:in 'block in assert_raise'
/Users/headius/work/jruby/lib/ruby/gems/shared/bundler/gems/test-unit-ruby-core-04bbdf8d1f83/lib/core_assertions.rb:540:in 'assert'
/Users/headius/work/jruby/lib/ruby/gems/shared/bundler/gems/test-unit-ruby-core-04bbdf8d1f83/lib/core_assertions.rb:453:in 'assert_raise'
/Users/headius/work/drb/test/drb/drbtest.rb:313:in 'test_11_remote_no_method_error'
     310:   end
     311: 
     312:   def test_11_remote_no_method_error
  => 313:     assert_raise(DRb::DRbRemoteError) do
     314:       @there.remote_no_method_error
     315:     end
     316:     begin

  • Several SSL-related tests (basically everything in DRbTests::TestDRbSSLCore) fail with certificate verify failed but I'm not sure if this is a bug or some misconfiguration in JRuby's openssl support. A server in a separate thread crashes as a result and these tests then time out waiting for the server to respond.
warning: thread "Ruby-0-Thread-1: /Users/headius/work/drb/lib/drb/drb.rb:1584" terminated with exception (report_on_exception is true):NoMethodError: undefined method 'include?' for nil
  accept_or_shutdown at /Users/headius/work/drb/lib/drb/drb.rb:1016
              accept at /Users/headius/work/drb/lib/drb/ssl.rb:334
           main_loop at /Users/headius/work/drb/lib/drb/drb.rb:1743
                 run at /Users/headius/work/drb/lib/drb/drb.rb:1586
DRb::DRbConnError: drbssl://localhost:52295 - #<OpenSSL::SSL::SSLError: certificate verify failed>
             open at /Users/headius/work/drb/lib/drb/drb.rb:772
             each at org/jruby/RubyArray.java:2079
             open at /Users/headius/work/drb/lib/drb/drb.rb:765
       initialize at /Users/headius/work/drb/lib/drb/drb.rb:1347
              new at org/jruby/RubyClass.java:1023
             open at /Users/headius/work/drb/lib/drb/drb.rb:1330
   method_missing at /Users/headius/work/drb/lib/drb/drb.rb:1171
      with_friend at /Users/headius/work/drb/lib/drb/drb.rb:1190
   method_missing at /Users/headius/work/drb/lib/drb/drb.rb:1170
       initialize at /Users/headius/work/drb/lib/drb/extserv.rb:21
      synchronize at org/jruby/ext/monitor/Monitor.java:85
  mon_synchronize at /Users/headius/work/jruby/lib/ruby/stdlib/monitor.rb:206
       initialize at /Users/headius/work/drb/lib/drb/extserv.rb:20
              new at org/jruby/RubyClass.java:1050
           <main> at /Users/headius/work/drb/test/drb/ut_array_drbssl.rb:39
Ngôn ngữ chính
Ruby
Star
227
Fork
28
Merge trung bình
4 ngày 23 giờ
Pull request đã merge (30 ngày)
2

Chuẩn bị môi trường

Dự án này không cung cấp dev container, Dockerfile hay hướng dẫn đóng góp, nên bạn cần tự thiết lập môi trường: hãy bắt đầu từ README và xem hướng dẫn đóng góp lần đầu của chúng tôi để biết các bước chung.

Bắt đầu từ đâu

  1. Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
  2. Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
  3. Fork repository và làm thay đổi trên một nhánh.
  4. Mở pull request có tham chiếu số hiệu của issue.

Issue khác của ruby/drb

Tất cả issue của ruby/drb

Issue tương tự

Thêm issue về Ruby

Nhận issue mới trong hộp thư của bạn

Bản tóm tắt ngắn những issue GitHub phù hợp với người mới.