Source: ruby-raindrops
Version: 0.19.0-2
Severity: serious
Justification: FTBFS
Tags: bookworm sid ftbfs
User: [email protected]
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

Attachment: signature.asc
Description: PGP signature

Reply via email to