Hacktoberfest 2026:メンテナが10月に向けて印を付けた、オープンで初心者向けの issue。 Hacktoberfest の issue を見る

Linear performance test times out intermittently on JRuby

オープン
#1,310 コメント 3 件 リアクション 0 件 担当者 0 名 GitHub で見る

メンテナーはふだん 1 日以内に返信

まだ誰も着手していません。

評価

難易度
4/5
見積もり時間
3〜5日
初心者へのやさしさ
35/100
issue の種類
バグ
明瞭さ
おおむね明確
活発さ
停滞
技術スタック
ruby

調査の方向性

test/rdoc/test_rdoc_parser_ruby.rb と test_read_directive_linear_performance から始め、報告されたスタックトレースを使って JRuby CI でのタイムアウトを再現します。テストに JRuby 固有の処理が必要なのか、それともタイムアウトが実際のパーサーの問題を明らかにしているのかを判断します。テストが回帰を隠すことなく安定して実行できれば完了です。

索引モデルが issue の本文から書いたものです。

説明

The linear timing test "test_read_directive_linear_performance" occasionally times out on JRuby. This does not likely indicate a failure to run the example in linear time as much as it reflects a sensitivity to very short timeouts. Until we fully understand why this test times out intermittently, I will omit it on JRuby.

The timeout failure produces the following output in CI:

Error: test_read_directive_linear_performance(TestRDocParserRuby): Timeout::Error: [100]: in 0.01s (tmin: 3.2501000021056825e-05, tmax: 7.660400001441303e-05, tbase: 1/1000)
org/jruby/ext/thread/Mutex.java:119:in `lock'
org/jruby/ext/thread/Mutex.java:181:in `synchronize'
/home/runner/.rubies/jruby-head/lib/ruby/stdlib/timeout.rb:93:in `finished'
/home/runner/.rubies/jruby-head/lib/ruby/stdlib/timeout.rb:191:in `block in timeout'
/home/runner/.rubies/jruby-head/lib/ruby/stdlib/timeout.rb:196:in `timeout'
/home/runner/work/rdoc/rdoc/vendor/bundle/jruby/3.1.0/gems/test-unit-ruby-core-1.0.6/lib/core_assertions.rb:836:in `block in assert_linear_performance'
org/jruby/RubyArray.java:2009:in `each'
/home/runner/work/rdoc/rdoc/vendor/bundle/jruby/3.1.0/gems/test-unit-ruby-core-1.0.6/lib/core_assertions.rb:831:in `assert_linear_performance'
/home/runner/work/rdoc/rdoc/test/rdoc/test_rdoc_parser_ruby.rb:[33](https://github.com/ruby/rdoc/actions/runs/13748754286/job/38447004956#step:5:34)87:in `test_read_directive_linear_performance'
     3384: 
     3385:   def test_read_directive_linear_performance
     3386:     pre = ->(i) {util_parser '# ' + '0'*i + '=000:'}
  => 3387:     assert_linear_performance((1..5).map{|i|10**i}, pre: pre) do |parser|
     3388:       assert_nil parser.read_directive []
     3389:     end
     3390:   end
org/jruby/RubyKernel.java:1426:in `catch'
org/jruby/RubyKernel.java:1421:in `catch'
org/jruby/RubyArray.java:2009:in `each'
org/jruby/RubyArray.java:2009:in `each'
org/jruby/RubyArray.java:2009:in `each'
org/jruby/RubyKernel.java:1426:in `catch'
org/jruby/RubyKernel.java:1421:in `catch'
主要言語
Ruby
スター
929
フォーク
469
平均マージ
1日 2時間
マージ済み PR(30日)
19

環境構築

はじめの一歩

  1. issue を最後まで読み、次にプロジェクトのコントリビューションガイドを読みます。
  2. 着手することを issue にコメントします — 二人が同じ作業をするのを防げます。
  3. リポジトリをフォークし、ブランチを切って変更します。
  4. issue 番号を参照したプルリクエストを送ります。

ruby/rdoc のほかの issue

ruby/rdoc の issue をすべて見る

似ている issue

Ruby の issue をもっと見る

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。