Actions
Bug #6959
closedNet/HTTPS tests: fixed port usage cause issues on CI
Description
=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})):
- 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:ininitialize' 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:inblock 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:increate_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:ininitialize' 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:innew' 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
Actions
Like0
Like0