[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