[DRE-maint] Bug#996362: ruby-raindrops: FTBFS with ruby3.0: ERROR: Test "ruby3.0" failed.
Antonio Terceiro
terceiro at debian.org
Wed Oct 13 13:59:28 BST 2021
Source: ruby-raindrops
Version: 0.19.0-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: debian-ruby at lists.debian.org
Usertags: ruby3.0
Hi,
We are about to enable building against ruby3.0 on unstable. During a test
rebuild, ruby-raindrops was found to fail to build in that situation.
To reproduce this locally, you need to install ruby-all-dev from experimental
on an unstable system or build chroot.
Relevant part (hopefully):
> /usr/bin/ruby3.0 /usr/bin/gem2deb-test-runner
>
> ┌──────────────────────────────────────────────────────────────────────────────┐
> │ Checking Rubygems dependency resolution on ruby3.0 │
> └──────────────────────────────────────────────────────────────────────────────┘
>
> GEM_PATH=/<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/share/rubygems-integration/3.0.0:/var/lib/gems/3.0.0:/usr/local/lib/ruby/gems/3.0.0:/usr/lib/ruby/gems/3.0.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.0.0:/usr/share/rubygems-integration/3.0.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0 ruby3.0 -e gem\ \"raindrops\"
>
> ┌──────────────────────────────────────────────────────────────────────────────┐
> │ Run tests for ruby3.0 from debian/ruby-tests.rake │
> └──────────────────────────────────────────────────────────────────────────────┘
>
> RUBYLIB=/<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/x86_64-linux-gnu/ruby/vendor_ruby/3.0.0:/<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby:. GEM_PATH=/<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/share/rubygems-integration/3.0.0:/var/lib/gems/3.0.0:/usr/local/lib/ruby/gems/3.0.0:/usr/lib/ruby/gems/3.0.0:/usr/lib/x86_64-linux-gnu/ruby/gems/3.0.0:/usr/share/rubygems-integration/3.0.0:/usr/share/rubygems-integration/all:/usr/lib/x86_64-linux-gnu/rubygems-integration/3.0.0 ruby3.0 -S rake -f debian/ruby-tests.rake
> /usr/bin/ruby3.0 -w -I"test" /usr/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/rake_test_loader.rb "test/test_aggregate_pmq.rb" "test/test_last_data_recv_unicorn.rb" "test/test_linux.rb" "test/test_linux_all_tcp_listen_stats_leak.rb" "test/test_linux_middleware.rb" "test/test_middleware.rb" "test/test_middleware_unicorn.rb" "test/test_middleware_unicorn_ipv6.rb" "test/test_raindrops.rb" "test/test_raindrops_gc.rb" "test/test_struct.rb" "test/test_tcp_info.rb" -v
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/aggregate/pmq.rb:145: warning: mismatched indentations at 'ensure' with 'def' at 123
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/aggregate/pmq.rb:178: warning: mismatched indentations at 'rescue' with 'def' at 176
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/aggregate/pmq.rb:184: warning: mismatched indentations at 'rescue' with 'def' at 182
> /usr/lib/ruby/vendor_ruby/aggregate.rb:29: warning: parentheses after method name is interpreted as an argument list, not a decomposed argument
> /usr/lib/ruby/vendor_ruby/aggregate.rb:207: warning: parentheses after method name is interpreted as an argument list, not a decomposed argument
> /usr/lib/ruby/vendor_ruby/aggregate.rb:265: warning: parentheses after method name is interpreted as an argument list, not a decomposed argument
> W: cannot load such file -- posix_mq skipping /<<PKGBUILDDIR>>/test/test_aggregate_pmq.rb
> W: cannot load such file -- unicorn skipping test since Rack or Unicorn was not found
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/aggregate/pmq.rb:145: warning: mismatched indentations at 'ensure' with 'def' at 123
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/aggregate/pmq.rb:178: warning: mismatched indentations at 'rescue' with 'def' at 176
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/aggregate/pmq.rb:184: warning: mismatched indentations at 'rescue' with 'def' at 182
> W: cannot load such file -- posix_mq skipping /<<PKGBUILDDIR>>/test/test_last_data_recv_unicorn.rb
> /<<PKGBUILDDIR>>/test/test_linux.rb:73: warning: assigned but unused variable - us
> /<<PKGBUILDDIR>>/test/test_linux.rb:154: warning: mismatched indentations at 'ensure' with 'def' at 132
> /<<PKGBUILDDIR>>/test/test_linux_all_tcp_listen_stats_leak.rb:40: warning: mismatched indentations at 'ensure' with 'def' at 16
> /<<PKGBUILDDIR>>/test/ipv6_enabled.rb:5: warning: mismatched indentations at 'rescue' with 'def' at 1
> /<<PKGBUILDDIR>>/test/test_raindrops.rb:137: warning: mismatched indentations at 'rescue' with 'def' at 123
> /<<PKGBUILDDIR>>/test/test_struct.rb:30: warning: method redefined; discarding old test_dup
> /<<PKGBUILDDIR>>/test/test_raindrops.rb:80: warning: previous definition of test_dup was here
> /<<PKGBUILDDIR>>/test/test_tcp_info.rb:63: warning: mismatched indentations at 'ensure' with 'def' at 53
> Loaded suite /usr/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/rake_test_loader
> Started
> TestLinux:
> test_unix: E
> ===============================================================================
> Error: test_unix(TestLinux): TypeError: no implicit conversion of Hash into Integer
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `read'
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `unix_listener_stats'
> /<<PKGBUILDDIR>>/test/test_linux.rb:26:in `test_unix'
> 23: tmp = Tempfile.new("\xde\xad\xbe\xef") # valid path, really :)
> 24: File.unlink(tmp.path)
> 25: us = UNIXServer.new(tmp.path)
> => 26: stats = unix_listener_stats([tmp.path])
> 27: assert_equal 1, stats.size
> 28: assert_equal 0, stats[tmp.path].active
> 29: assert_equal 0, stats[tmp.path].queued
> ===============================================================================
> : (0.002366)
> test_unix_all: E
> ===============================================================================
> Error: test_unix_all(TestLinux): TypeError: no implicit conversion of Hash into Integer
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `read'
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `unix_listener_stats'
> /<<PKGBUILDDIR>>/test/test_linux.rb:55:in `test_unix_all'
> 52: File.unlink(tmp.path)
> 53: us = UNIXServer.new(tmp.path)
> 54: @to_close << UNIXSocket.new(tmp.path)
> => 55: stats = unix_listener_stats
> 56: assert_equal 0, stats[tmp.path].active
> 57: assert_equal 1, stats[tmp.path].queued
> 58:
> ===============================================================================
> : (0.009205)
> test_unix_all_unused: E
> ===============================================================================
> Error: test_unix_all_unused(TestLinux): TypeError: no implicit conversion of Hash into Integer
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `read'
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `unix_listener_stats'
> /<<PKGBUILDDIR>>/test/test_linux.rb:74:in `test_unix_all_unused'
> 71: tmp = Tempfile.new("\xde\xad\xbe\xef") # valid path, really :)
> 72: File.unlink(tmp.path)
> 73: us = UNIXServer.new(tmp.path)
> => 74: stats = unix_listener_stats
> 75: assert stats.keys.include?(tmp.path), stats.inspect
> 76:
> 77: assert_equal 0, stats[tmp.path].active
> ===============================================================================
> : (0.001114)
> test_unix_resolves_symlinks: E
> ===============================================================================
> Error: test_unix_resolves_symlinks(TestLinux): TypeError: no implicit conversion of Hash into Integer
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `read'
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `unix_listener_stats'
> /<<PKGBUILDDIR>>/test/test_linux.rb:92:in `test_unix_resolves_symlinks'
> 89: File.symlink(tmp.path, link.path)
> 90:
> 91: @to_close << UNIXSocket.new(tmp.path)
> => 92: stats = unix_listener_stats
> 93: assert_equal 0, stats[tmp.path].active
> 94: assert_equal 1, stats[tmp.path].queued
> 95:
> ===============================================================================
> : (0.016008)
> TestLinuxMiddleware:
> test_unix_listener: E
> ===============================================================================
> Error: test_unix_listener(TestLinuxMiddleware): TypeError: no implicit conversion of Hash into Integer
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `read'
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `unix_listener_stats'
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/middleware.rb:136:in `stats_response'
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/middleware.rb:112:in `call'
> /<<PKGBUILDDIR>>/test/test_linux_middleware.rb:27:in `test_unix_listener'
> 24: @to_close << UNIXServer.new(tmp.path)
> 25: app = Raindrops::Middleware.new(@app, :listeners => [tmp.path])
> 26: linux_extra = "#{tmp.path} active: 0\n#{tmp.path} queued: 0\n"
> => 27: response = app.call("PATH_INFO" => "/_raindrops")
> 28:
> 29: expect = [
> 30: 200,
> ===============================================================================
> : (0.019757)
> test_unix_listener_queued: E
> ===============================================================================
> Error: test_unix_listener_queued(TestLinuxMiddleware): TypeError: no implicit conversion of Hash into Integer
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `read'
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/linux.rb:60:in `unix_listener_stats'
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/middleware.rb:136:in `stats_response'
> /<<PKGBUILDDIR>>/debian/ruby-raindrops/usr/lib/ruby/vendor_ruby/raindrops/middleware.rb:112:in `call'
> /<<PKGBUILDDIR>>/test/test_linux_middleware.rb:49:in `test_unix_listener_queued'
> 46: @to_close << UNIXSocket.new(tmp.path)
> 47: app = Raindrops::Middleware.new(@app, :listeners => [tmp.path])
> 48: linux_extra = "#{tmp.path} active: 0\n#{tmp.path} queued: 1\n"
> => 49: response = app.call("PATH_INFO" => "/_raindrops")
> 50:
> 51: expect = [
> 52: 200,
> ===============================================================================
> : (0.001157)
> TestMiddleware:
> test_alt_endpoint: .: (0.000270)
> test_alt_stats: .: (0.000194)
> test_concurrent: .: (0.070375)
> test_default_endpoint: .: (0.000187)
> test_middleware_proxy_to_path_missing: .: (0.000360)
> test_setup: .: (0.000211)
> TestRaindrops:
> test_ary: .: (0.000298)
> test_bad_incr: .: (0.000318)
> test_big: .: (0.000250)
> test_clone: .: (0.000186)
> test_decr_args: .: (0.000131)
> test_dup: N
> ===============================================================================
> Notification: <TestRaindrops#test_dup> was redefined [test_dup(TestRaindrops)]
> /<<PKGBUILDDIR>>/test/test_struct.rb:30:in `<class:TestRaindrops>'
> ===============================================================================
> .: (0.000914)
> test_evaporate: .: (0.000172)
> test_evaporate_with_fork: .: (0.091904)
> test_incr_args: .: (0.000196)
> test_incr_decr: .: (0.432923)
> test_incr_no_args: .: (0.000181)
> test_incr_shared: .: (0.269396)
> test_init: .: (0.000193)
> test_init_basic: .: (0.000216)
> test_page_size: .: (0.000161)
> test_raindrop_counter_max: Raindrops::MAX = 0xffffffffffffffff
> .: (0.000152)
> test_raindrop_size: Raindrops::SIZE = 64
> .: (0.000125)
> test_resize: .: (0.000280)
> test_resize_mremap: .: (0.000150)
> test_size_and_capa: .: (0.000106)
> test_struct_new: .: (0.000665)
> test_subclass: .: (0.000160)
> TestTCP_Info:
> test_accessors: .: (0.001486)
> test_tcp_server_delayed: F
> ===============================================================================
> Failure: test_tcp_server_delayed(TestTCP_Info):
> 8 < 10.
> <false> is not true.
> /<<PKGBUILDDIR>>/test/test_tcp_info.rb:62:in `test_tcp_server_delayed'
> 59: sleep(delay * 1.2)
> 60: a = s.accept
> 61: i = Raindrops::TCP_Info.new(a)
> => 62: assert i.last_data_recv >= delay_ms, "#{i.last_data_recv} < #{delay_ms}"
> 63: ensure
> 64: c.close if c
> 65: a.close if a
> ===============================================================================
> : (0.015928)
> test_tcp_server_state_closed: .: (0.011703)
> test_tcp_server_unacked: .: (0.000451)
>
> Finished in 0.953566768 seconds.
> -------------------------------------------------------------------------------
> 38 tests, 155 assertions, 1 failures, 6 errors, 0 pendings, 0 omissions, 1 notifications
> 81.5789% passed
> -------------------------------------------------------------------------------
> 39.85 tests/s, 162.55 assertions/s
> rake aborted!
> Command failed with status (1): [ruby -w -I"test" /usr/lib/ruby/gems/3.0.0/gems/rake-13.0.3/lib/rake/rake_test_loader.rb "test/test_aggregate_pmq.rb" "test/test_last_data_recv_unicorn.rb" "test/test_linux.rb" "test/test_linux_all_tcp_listen_stats_leak.rb" "test/test_linux_middleware.rb" "test/test_middleware.rb" "test/test_middleware_unicorn.rb" "test/test_middleware_unicorn_ipv6.rb" "test/test_raindrops.rb" "test/test_raindrops_gc.rb" "test/test_struct.rb" "test/test_tcp_info.rb" -v]
>
> Tasks: TOP => default
> (See full trace by running task with --trace)
> ERROR: Test "ruby3.0" failed.
The full build log is available at
https://people.debian.org/~kanashiro/ruby3.0/round2/builds/3/ruby-raindrops/ruby-raindrops_0.19.0-2+rebuild1633392636_amd64.build.txt
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20211013/4e27c7f2/attachment-0001.sig>
More information about the Pkg-ruby-extras-maintainers
mailing list