Project

General

Profile

Actions

action #75265

closed

sporadic errors in test suite of perl-Mojo-IOLoop-ReadWriteProcess

Added by okurz about 4 years ago. Updated almost 4 years ago.

Status:
Resolved
Priority:
Normal
Assignee:
Category:
Regressions/Crashes
Target version:
Start date:
2020-10-25
Due date:
% Done:

0%

Estimated time:

Description

Observation

https://build.opensuse.org/package/live_build_log/devel:openQA:Leap:15.1/perl-Mojo-IOLoop-ReadWriteProcess/openSUSE_Leap_15.1/x86_64 shows

[   97s] TEST error print
[   97s] TEST error print
[   97s] t/01_run.t ............... ok
[  108s] t/02_parallel.t .......... ok
[  109s] Can't use an undefined value as filehandle reference at lib/Mojo/IOLoop/ReadWriteProcess.pm line 298.
[  126s] t/03_func.t .............. ok
[  127s] t/04_queues.t ............ ok
[  127s] t/05_serialize.t ......... ok
[  131s] t/06_events.t ............ ok
[  191s] 
[  191s]     #   Failed test 'collect_status fired 8 times'
[  191s]     #   at t/07_autodetect.t line 411.
[  191s]     #          got: undef
[  191s]     #     expected: '1'
[  191s] 
[  191s]     #   Failed test 'new_subprocess fired 7 times'
[  191s]     #   at t/07_autodetect.t line 412.
[  191s]     #          got: '9'
[  191s]     #     expected: '8'
[  191s] 
[  191s]     #   Failed test 'detection works'
[  191s]     #   at t/07_autodetect.t line 414.
[  191s]     #          got: '9'
[  191s]     #     expected: '8'
[  191s]     # bless( {
[  191s]     #   '_status' => -1,
[  191s]     #   'args' => [],
[  191s]     #   'error' => bless( [], 'Mojo::Collection' ),
[  191s]     #   'error_stream' => bless( \*Symbol::GEN122, 'IO::Handle' ),
[  191s]     #   'events' => {},
[  191s]     #   'execute' => '/home/abuild/rpmbuild/BUILD/Mojo-IOLoop-ReadWriteProcess-0.28/t/data/subreaper/roulette.sh',
[  191s]     #   'process_id' => 1744,
[  191s]     #   'read_stream' => bless( \*Symbol::GEN120, 'IO::Handle' ),
[  191s]     #   'separate_err' => 1,
[  191s]     #   'session' => bless( {
[  191s]     #     'collect_status' => 1,
[  191s]     #     'events' => {
[  191s]     #       'collected' => [
[  191s]     #         sub { "DUMMY" }
[  191s]     #       ],
[  191s]     #       'collected_orphan' => [
[  191s]     #         sub { "DUMMY" }
[  191s]     #       ]
[  191s]     #     },
[  191s]     #     'handler' => undef,
[  191s]     #     'orphans' => {
[  191s]     #       '1744' => bless( {
[  191s]     #         '_status' => 256,
[  191s]     #         'process_id' => 1744
[  191s]     #       }, 'Mojo::IOLoop::ReadWriteProcess' ),
[  191s]     #       '1748' => bless( {
[  191s]     #         '_status' => 256,
[  191s]     #         'process_id' => 1748
[  191s]     #       }, 'Mojo::IOLoop::ReadWriteProcess' ),
[  191s]     #       '1749' => bless( {
[  191s]     #         '_status' => 256,
[  191s]     #         'process_id' => 1749
[  191s]     #       }, 'Mojo::IOLoop::ReadWriteProcess' ),
[  191s]     #       '1755' => bless( {
[  191s]     #         '_status' => 256,
[  191s]     #         'process_id' => 1755
[  191s]     #       }, 'Mojo::IOLoop::ReadWriteProcess' ),
[  191s]     #       '1756' => bless( {
[  191s]     #         '_status' => 256,
[  191s]     #         'process_id' => 1756
[  191s]     #       }, 'Mojo::IOLoop::ReadWriteProcess' ),
[  191s]     #       '1762' => bless( {
[  191s]     #         '_status' => 0,
[  191s]     #         'process_id' => 1762
[  191s]     #       }, 'Mojo::IOLoop::ReadWriteProcess' ),
[  191s]     #       '1763' => bless( {
[  191s]     #         '_status' => 0,
[  191s]     #         'process_id' => 1763
[  191s]     #       }, 'Mojo::IOLoop::ReadWriteProcess' ),
[  191s]     #       '1773' => bless( {
[  191s]     #         '_status' => 0,
[  191s]     #         'process_id' => 1773
[  191s]     #       }, 'Mojo::IOLoop::ReadWriteProcess' ),
[  191s]     #       '1774' => bless( {
[  191s]     #         '_status' => 0,
[  191s]     #         'process_id' => 1774
[  191s]     #       }, 'Mojo::IOLoop::ReadWriteProcess' )
[  191s]     #     },
[  191s]     #     'process_table' => {
[  191s]     #       '1744' => \$VAR1
[  191s]     #     },
[  191s]     #     'subreaper' => 1
[  191s]     #   }, 'Mojo::IOLoop::ReadWriteProcess::Session' ),
[  191s]     #   'set_pipes' => 1,
[  191s]     #   'subreaper' => 1,
[  191s]     #   'write_stream' => bless( \*Symbol::GEN121, 'IO::Handle' )
[  191s]     # }, 'Mojo::IOLoop::ReadWriteProcess' )
[  191s]     # Looks like you failed 3 tests of 4.
[  191s] 
[  191s] #   Failed test 'subreaper_bash_roulette'
[  191s] #   at t/07_autodetect.t line 418.
[  191s] 0 at t/07_autodetect.t line 414.
[  191s] # Tests were run but no plan was declared and done_testing() was not seen.
[  191s] # Looks like your test exited with 255 just after 7.
[  191s] t/07_autodetect.t ........ 
[  191s] Dubious, test returned 255 (wstat 65280, 0xff00)
[  191s] Failed 1/7 subtests 
[  191s]    (less 2 skipped subtests: 4 okay)
[  193s] t/08_ioloop.t ............ ok
[  194s] t/09_session.t ........... ok
[  195s] t/10_cgroupv1.t .......... ok
[  196s] t/10_cgroupv2.t .......... ok
[  197s] t/11_containers.t ........ skipped: This test works only if you have cgroups permissions
[  255s] t/12_mocked_container.t .. ok
[  256s] t/13_shared.t ............ skipped: Skipped unless TEST_SHARED is set
[  256s] 
[  256s] Test Summary Report
[  256s] -------------------
[  256s] t/07_autodetect.t      (Wstat: 65280 Tests: 7 Failed: 1)
[  256s]   Failed test:  7
[  256s]   Non-zero exit status: 255
[  256s]   Parse errors: No plan found in TAP output
[  256s] Files=15, Tests=62, 162 wallclock secs ( 0.25 usr  0.15 sys + 11.89 cusr  2.20 csys = 14.49 CPU)
[  256s] Result: FAIL
[  256s] Failed 1/15 test programs. 1/62 subtests failed.

so unhandled output in t/01_run.t, perl warning "Can't use an undefined value as filehandle reference at lib/Mojo/IOLoop/ReadWriteProcess.pm line 298." in t/03_func.t and errors in t/07_autodetect.t

Then in https://build.opensuse.org/package/live_build_log/devel:openQA:Leap:15.2/perl-Mojo-IOLoop-ReadWriteProcess/openSUSE_Leap_15.2/aarch64

[  187s] t/11_containers.t ........ skipped: This test works only if you have cgroups permissions
[  211s] 
[  211s]     #   Failed test 'procs interface contains the added pids'
[  211s]     #   at t/12_mocked_container.t line 37.
[  211s]     #          got: ''
[  211s]     #     expected: '1785
[  211s]     # '
[  211s]     # 1785
[  244s]     # Looks like you failed 1 test of 43.
[  244s] 
[  244s] #   Failed test 'container_3'
[  244s] #   at t/12_mocked_container.t line 258.
[  244s] # Looks like you failed 1 test of 3.
[  244s] t/12_mocked_container.t .. 
[  244s] Dubious, test returned 1 (wstat 256, 0x100)
[  244s] Failed 1/3 subtests

and in
https://build.opensuse.org/package/live_build_log/devel:openQA:Leap:15.2/perl-Mojo-IOLoop-ReadWriteProcess/openSUSE_Leap_15.2/x86_64

[   70s] t/03_func.t .............. ok
[   71s] t/04_queues.t ............ ok
[ 3679s] qemu-system-x86_64: terminating on signal 15 from pid 18026 ()


Job seems to be stuck here, killed. (after 3600 seconds of inactivity)

so stuck in tests.

Acceptance criteria

  • AC1: All tests included in OBS checks running stable, i.e. either tests stabilized or excluded from running

Suggestions

  • Try to reproduce problems locall and try to fix them or exclude them from checks within the spec file with according comments
Actions #1

Updated by kraih about 4 years ago

  • Assignee set to kraih

I'll take a look.

Actions #2

Updated by okurz about 4 years ago

https://build.opensuse.org/package/live_build_log/devel:openQA:Leap:15.2/perl-Mojo-IOLoop-ReadWriteProcess/openSUSE_Leap_15.2/ppc64le shows again:

[  119s] t/04_queues.t ............ ok
[ 3725s] qemu-system-ppc64: terminating on signal 15 from pid 27286 (<unknown process>)

Not sure if that means that t/04_queues.t is stuck after it returned "ok" or if the next test module "05_serialize.t" starts, gets stuck and never finishes. I recommend we report upstream issues for each individual problem and exclude the problems from OBS checks. And of course we can fix the upstream issues and re-add checks accordingly.

@kraih Did you have some progress already or should we exclude the tests accordingly?

Actions #3

Updated by okurz about 4 years ago

These failures in OBS continue to annoy me. I created an upstream issue https://github.com/mudler/Mojo-IOLoop-ReadWriteProcess/issues/14 now and created https://build.opensuse.org/request/show/848298 to ignore the unstable tests in OBS for now. I haven't heard from you so I assume you have not done any actual code changes but I hope this does not conflict with anything you have done already.

EDIT: 2020-11-13: https://build.opensuse.org/request/show/848415 was accepted. https://build.opensuse.org/request/show/848419 is the corresponding Factory submission.

EDIT: 2020-11-16: https://build.opensuse.org/request/show/848415 was accepted into Factory. https://build.opensuse.org/package/show/devel:openQA:Leap:15.2/perl-Mojo-IOLoop-ReadWriteProcess is a link and hence is the same version.

Actions #4

Updated by okurz almost 4 years ago

  • Status changed from Workable to Resolved

@kraih haven't heard from you regarding this ticket and no update. With the workarounds applied and the upstream issue filed I think we can call it "Resolved" from our end.

Actions

Also available in: Atom PDF