[DRE-maint] Bug#998097: ruby-eventmachine: flaky tests under some buildd conditions

Paul Gevers elbrus at debian.org
Sat Dec 31 14:03:13 GMT 2022


retitle 855931 ruby-eventmachine: FTBFS due to hanging flaky tests
found 855931 1.3~pre20220315-df4ab006-3
retitle 998097 ruby-eventmachine: FTBFS on IPV6-only buildds
thanks

Hi,

On Wed, 8 Mar 2017 09:46:50 +0100 Antonio Terceiro <terceiro at debian.org> 
wrote:
> ruby-eventmachine is one the packages whose tests will go crazy on EC2,
> probably due to some weirdness in how exactly EC2 VM's are configured.
> Most likely something kernel-related.

This happens on the buildds too (3 times on release archs), see below.

Also, this package has had it's share of FTBFS bugs due to failing 
tests, so I wonder if this should be fixed with wack-a-mole or if it's 
better to disable the test suite. I tried to make sense of the different 
failures to fix bug 998097, but there have been so many tries to fix or 
disable several tests that I couldn't make sense of it in the time I 
spent on it. I have the feeling that some of the timeout issues are due 
to the test suite not properly cleaning up if one test fails and than 
hanging later on.

For documentation purposes, at least I got this from archeology (all but 
test_kb.rb pass on my system):
  disabled_tests= [
+  # has a tast that (sometimes?) seems to hang
    'tests/test_exc.rb',
+  # some tests requiring network access
    'tests/test_get_sock_opt.rb',
+  # several tests need internet (google.com)
    'tests/test_httpclient2.rb',
+  # several tests need internet (google.com)
    'tests/test_httpclient.rb',
+  # some tests requiring network access
    'tests/test_idle_connection.rb',
+  # mips sometimes too slow
    'tests/test_inactivity_timeout.rb',
+  # error: terminate called after throwing an instance of 
'std::runtime_error' what(): unable to add new descriptor: Operation not 
permitted
    'tests/test_kb.rb',
+  # one test needs internet (192.0.2.0)
    'tests/test_pending_connect_timeout.rb',
+  # several tests need internet
    'tests/test_resolver.rb',
+  # some tests requiring network access
    'tests/test_set_sock_opt.rb',
+  # one test needs internet (192.0.2.0)
    'tests/test_unbind_reason.rb',
  ]

https://buildd.debian.org/status/fetch.php?pkg=ruby-eventmachine&arch=amd64&ver=1.3%7Epre20220315-df4ab006-3&stamp=1665953644&raw=0

TestConnectionCount:
   test_idle_connection_count:				.: (0.000488)
   test_idle_connection_count_epoll:			.: (0.000377)
   test_idle_connection_count_kqueue:			.: (0.000320)
   test_num_close_scheduled:				.: (0.000794)
   test_with_some_connections:				.: (0.001581)
TestConnectionWrite:
   test_with_naughty_callback:				.: (0.000710)
TestDefer:
   test_defers:						
E: Build killed with signal TERM after 150 minutes of inactivity


https://buildd.debian.org/status/fetch.php?pkg=ruby-eventmachine&arch=i386&ver=1.3%7Epre20201020-b50c135-4%2Bb1&stamp=1635553347&raw=0

TestConnectionCount:
   test_idle_connection_count:				.: (0.000292)
   test_idle_connection_count_epoll:			.: (0.000344)
   test_idle_connection_count_kqueue:			.: (0.000234)
   test_num_close_scheduled:				.: (0.000539)
   test_with_some_connections:				.: (0.001199)
TestConnectionWrite:
   test_with_naughty_callback:				.: (0.000396)
TestDefer:
   test_defers:						
E: Build killed with signal TERM after 150 minutes of inactivity


https://buildd.debian.org/status/fetch.php?pkg=ruby-eventmachine&arch=s390x&ver=1.2.7-1%7Eexp1&stamp=1546537666&raw=0

TestSockOpt:
   test_get_sock_opt:					.: (0.000343)
   test_set_sock_opt:					.: (0.000254)
TestSomeExceptions:
   test_a:						.: (0.000130)
   test_b:						.: (0.000072)
   test_exception_on_unbind:				
E: Build killed with signal TERM after 150 minutes of inactivity


Non release architectures:
alpha seems to suffer a lot from this, one example

https://buildd.debian.org/status/fetch.php?pkg=ruby-eventmachine&arch=alpha&ver=1.0.7-4.2&stamp=1544037015&raw=0 


TestConnectionCount:
   test_idle_connection_count:				.: (0.000977)
   test_num_close_scheduled:				.: (15.075295)
   test_with_some_connections:				
E: Build killed with signal TERM after 150 minutes of inactivity


https://buildd.debian.org/status/fetch.php?pkg=ruby-eventmachine&arch=hppa&ver=1.3%7Epre20220315-df4ab006-3&stamp=1666020944&raw=0

   test_attach_pipe:					E
===============================================================================
Error: test_attach_pipe(TestAttach): Errno::E111: Unknown error 111 - 
connect(2) for "127.0.0.1" port 486688568
/<<PKGBUILDDIR>>/tests/em_test_helper.rb:51:in `initialize'
/<<PKGBUILDDIR>>/tests/em_test_helper.rb:51:in `new'
/<<PKGBUILDDIR>>/tests/em_test_helper.rb:51:in `port_in_use?'
/<<PKGBUILDDIR>>/tests/em_test_helper.rb:62:in `next_port'
/<<PKGBUILDDIR>>/tests/test_attach.rb:32:in `setup'
===============================================================================/<<PKGBUILDDIR>>/tests/test_attach.rb:38: 
warning: global variable `$r' not initialized
/<<PKGBUILDDIR>>/tests/test_attach.rb:38: warning: global variable `$w' 
not initialized

: (19373.112091)
   test_attach_server:					
E: Build killed with signal TERM after 600 minutes of inactivity


https://buildd.debian.org/status/fetch.php?pkg=ruby-eventmachine&arch=sparc64&ver=1.3%7Epre2019019-g8f7e128-1%7Eexp2&stamp=1548244484&raw=0

===============================================================================
Error: test_any_with_external_client_tlsv1_2(TestSSLProtocols): 
OpenSSL::SSL::SSLError: SSL_connect SYSCALL returned=5 errno=0 
state=SSLv3/TLS write finished
/<<PKGBUILDDIR>>/tests/test_ssl_protocols.rb:128:in `connect'
/<<PKGBUILDDIR>>/tests/test_ssl_protocols.rb:128:in `block (2 levels) in 
external_client'
/<<PKGBUILDDIR>>/debian/ruby-eventmachine/usr/lib/ruby/vendor_ruby/eventmachine.rb:1078:in 
`block in spawn_threadpool'
===============================================================================
E
===============================================================================
Error: test_any_with_external_client_tlsv1_2(TestSSLProtocols): 
OpenSSL::SSL::SSLError: SSL_connect SYSCALL returned=5 errno=0 
state=SSLv3/TLS write finished
/<<PKGBUILDDIR>>/tests/test_ssl_protocols.rb:128:in `connect'
/<<PKGBUILDDIR>>/tests/test_ssl_protocols.rb:128:in `block (2 levels) in 
external_client'
/<<PKGBUILDDIR>>/debian/ruby-eventmachine/usr/lib/ruby/vendor_ruby/eventmachine.rb:1078:in 
`block in spawn_threadpool'
===============================================================================
: (0.112230)
   test_any_with_external_client_tlsv1_3:		
E: Build killed with signal TERM after 600 minutes of inactivity


Paul
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 495 bytes
Desc: OpenPGP digital signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-ruby-extras-maintainers/attachments/20221231/a841fd43/attachment-0003.sig>


More information about the Pkg-ruby-extras-maintainers mailing list