From: Greg.mpls@... Date: 2017-10-18T22:59:20+00:00 Subject: [ruby-core:83358] [Ruby trunk Bug#14013] [PATCH] Webrick 60172 fix Issue #14013 has been updated by MSP-Greg (Greg L). Eric, Bad news. Appveyor just failed with: ``` 1) Failure: TestNetHTTPS#test_certificate_verify_failure [C:/projects/ruby/test/net/http/utils.rb:48]: <[]> expected but was <["[2017-10-18 22:01:37] ERROR LocalJumpError: unexpected return\n" + "\tC:/projects/ruby/lib/webrick/server.rb:302:in `rescue in block (2 levels) in start_thread'\n" + "\tC:/projects/ruby/lib/webrick/server.rb:298:in `block (2 levels) in start_thread'\n" + "\tC:/projects/ruby/lib/webrick/utils.rb:263:in `timeout'\n" + "\tC:/projects/ruby/lib/webrick/server.rb:297:in `block in start_thread'\n"]>. Finished tests in 495.765993s, 33.2657 tests/s, 4417.9997 assertions/s. 16492 tests, 2190294 assertions, 1 failures, 0 errors, 308 skips ruby -v: ruby 2.5.0dev (2017-10-19) [x64-mswin64_120] ``` Re the patch you included above, can you please bracket it with triple backticks (\`\`\`), with the first being \`\`\`diff ? May need a blank line before the first set. I view this on the web; the markdown parser makes a mess of diff listings without the backticks. Re the `#nil?`, the docs/comments do state returns 'nil on timeout'. Maybe we should remove the `WEBrick::Utils.timeout` block and put the timeout value in the `#wait_*` methods? I'm not sure what to do. The patch I listed did pass Travis, but it fails for you on Linux... Thanks, Greg ---------------------------------------- Bug #14013: [PATCH] Webrick 60172 fix https://bugs.ruby-lang.org/issues/14013#change-67315 * Author: MSP-Greg (Greg L) * Status: Closed * Priority: Normal * Assignee: * Target version: * ruby -v: ruby 2.5.0dev (2017-10-13 trunk 60176) [x64-mingw32] * Backport: 2.3: UNKNOWN, 2.4: UNKNOWN ---------------------------------------- I was looking at the failure from 60172, and just tried changing some code. Low and behold, it passed all tests. But, since I'm not that familiar with 'nonblock' issues, I thought asking someone with more knowledge would be appropriate. The patch also included a patch to [TestNetHTTPS.test_verify](https://github.com/ruby/ruby/blob/41910c0d0e989c368c6e08690df8171589e52f76/test/net/http/test_https.rb#L119_L128), which was bypassed (not skipped) based on an ENV setting. I changed it to skip based on what I think is a sensible criteria. I'm somewhat concerned about the test times under windows. Since this is a 'ruby only' patch, maybe someone can test under OSX or *nix? After the patch, I have the following test results: ``` E:\GitHub\ruby\test>ruby -v --disable-gems runner.rb -I./lib -v --show-skip net/http/test_https.rb ruby 2.5.0dev (2017-10-13 trunk 60176) [x64-mingw32] Run options: -I./lib -v --show-skip # Running tests: [1/9] TestNetHTTPS#test_certificate_verify_failure = 1.08 s [2/9] TestNetHTTPS#test_get = 1.14 s [3/9] TestNetHTTPS#test_identity_verify_failure = 0.08 s [4/9] TestNetHTTPS#test_post = 1.13 s [5/9] TestNetHTTPS#test_session_reuse = 3.29 s [6/9] TestNetHTTPS#test_session_reuse_but_expire = 2.25 s [7/9] TestNetHTTPS#test_timeout_during_SSL_handshake = 0.05 s [8/9] TestNetHTTPS#test_verify = 0.76 s [9/9] TestNetHTTPS#test_verify_none = 1.14 s Finished tests in 10.919400s, 0.8242 tests/s, 4.9453 assertions/s. 9 tests, 54 assertions, 0 failures, 0 errors, 0 skips E:\GitHub\ruby\test>ruby -v --disable-gems runner.rb -I./lib -v --show-skip webrick/test_ssl_server.rb ruby 2.5.0dev (2017-10-13 trunk 60176) [x64-mingw32] Run options: -I./lib -v --show-skip # Running tests: [1/3] TestWEBrickSSLServer#test_self_signed_cert_server = 0.14 s [2/3] TestWEBrickSSLServer#test_self_signed_cert_server_with_string = 0.19 s [3/3] TestWEBrickSSLServer#test_slow_connect = 0.30 s Finished tests in 0.639600s, 4.6904 tests/s, 20.3252 assertions/s. 3 tests, 13 assertions, 0 failures, 0 errors, 0 skips ``` Thanks, Greg ---Files-------------------------------- webrick_60172_fix.patch (1.8 KB) webrick_60172_fix.patch (1.81 KB) webrick.patch (990 Bytes) webrick_ssl.patch (1.04 KB) -- https://bugs.ruby-lang.org/ Unsubscribe: