From: "luislavena (Luis Lavena)" Date: 2012-09-02T03:21:40+09:00 Subject: [ruby-core:47387] [ruby-trunk - Bug #6959][Assigned] Net/HTTPS tests: fixed port usage cause issues on CI Issue #6959 has been reported by luislavena (Luis Lavena). ---------------------------------------- Bug #6959: Net/HTTPS tests: fixed port usage cause issues on CI https://bugs.ruby-lang.org/issues/6959 Author: luislavena (Luis Lavena) Status: Assigned Priority: Low Assignee: naruse (Yui NARUSE) Category: test Target version: 2.0.0 ruby -v: ruby 2.0.0dev (2012-09-01 trunk 36875) [x64-mingw32] =begin Hello, RubyInstaller's CI worker compiles and run tests for both x86 and x64 builds from trunk. Sometimes, these builds are run in parallel and causing random (({Errno::EADDRINUSE})): 8) Error: test_verify_none(TestNetHTTPS): Errno::EADDRINUSE: Only one usage of each socket address (protocol/network address/port) is normally permitted. - bind(2) C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/lib/webrick/utils.rb:85:in `initialize' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/lib/webrick/utils.rb:85:in `new' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/lib/webrick/utils.rb:85:in `block in create_listeners' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/lib/webrick/utils.rb:82:in `each' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/lib/webrick/utils.rb:82:in `create_listeners' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/lib/webrick/ssl.rb:88:in `listen' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/lib/webrick/server.rb:70:in `initialize' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/lib/webrick/httpserver.rb:45:in `initialize' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/net/http/utils.rb:64:in `new' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/net/http/utils.rb:64:in `spawn_server' C:/Users/Worker/Jenkins/workspace/ruby-trunk-x64-build/test/net/http/utils.rb:31:in `setup' Full output here: http://ci.rubyinstaller.org/job/ruby-trunk-x64-test-all/19/console http://ci.rubyinstaller.org/job/ruby-trunk-x86-test-all/23/console Back in #6766, Yui NARUSE used '0' as WEBrick port to select one randomly, but appears that is not working as expected. As you can see, those random failures are a problem when trying to determine a real failure. Perhaps the port can be randomized with (({Process.pid})) as base? That way chances of same por for different process are minimal. Thank you. =end -- http://bugs.ruby-lang.org/