Actions
action #178183
closedcoordination #154768: [saga][epic][ux] State-of-art user experience for openQA
coordination #154771: [epic] Improved test developer user experience
[sporadic] Failing OBS package check t/01_run.t for perl-Mojo-IOLoop-ReadWriteProcess on aarch64+ppc64le size:S
Start date:
2025-03-03
Due date:
2025-03-28
% Done:
0%
Estimated time:
Description
Observation¶
[ 52s] TEST error print
[ 52s]
[ 52s] # Failed test 'process is shut down via kill_whole_group'
[ 52s] # at t/01_run.t line 500.
[ 52s] # got: '1'
[ 52s] # expected: '0'
[ 52s] # Looks like you failed 1 test of 1.
[ 52s]
[ 52s] # Failed test 'stop_whole_process_group_gracefully'
[ 52s] # at t/01_run.t line 501.
[ 52s] TEST error print
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork(): Fork: {
[ 52s] use warnings;
[ 52s] use strict;
[ 52s] shift();
[ 52s] print "$_$/" foreach (@_);
[ 52s] }
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Exit status: 248
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Returns: nothing
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Errors:
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_shutdown(): Shutdown 1540
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork(): Fork: {
[ 52s] use warnings;
[ 52s] use strict;
[ 52s] shift();
[ 52s] print "$_$/" foreach (@_);
[ 52s] }
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Exit status: 144
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Returns: nothing
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Errors:
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_shutdown(): Shutdown 1541
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork(): Fork: {
[ 52s] use warnings;
[ 52s] use strict;
[ 52s] shift();
[ 52s] print "$_$/" foreach (@_);
[ 52s] }
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Exit status: 152
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Returns: nothing
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Errors:
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_shutdown(): Shutdown 1542
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork(): Fork: {
[ 52s] use warnings;
[ 52s] use strict;
[ 52s] shift();
[ 52s] print "$_$/" foreach (@_);
[ 52s] }
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Exit status: 112
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Returns: nothing
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Errors:
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_shutdown(): Shutdown 1543
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork(): Fork: {
[ 52s] use warnings;
[ 52s] use strict;
[ 52s] is process('execute', '/bin/true')->quirkiness(1)->start->wait_stop->exit_status, 0, 'process(execute) from process(code) -- retval check true';
[ 52s] is process('execute', '/bin/false')->quirkiness(1)->start->wait_stop->exit_status, 1, 'process(execute) from process(code) -- retval check false';
[ 52s] is process(sub {
[ 52s] print 'sub-sub-process';
[ 52s] }
[ 52s] )->start->wait_stop->read_all_stdout, 'sub-sub-process', 'process(code) works from process(code)';
[ 52s] print 'DONE';
[ 52s] }
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Exit status: 192
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Returns: 1
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Errors:
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_shutdown(): Shutdown 1544
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_open(): Execute: '/I/do/not/exist'
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_fork_collect_status(): Forked code Process Exit status: 255
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_open(): Execute: 'sleep 0.2'
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_open_collect_status(): Forked code Process Exit status: 0
[ 52s] >> Mojo::IOLoop::ReadWriteProcess::_open(): Execute: 'perl', '/home/abuild/rpmbuild/BUILD/perl-Mojo-IOLoop-ReadWriteProcess-0.340.0-build/Mojo-IOLoop-ReadWriteProcess-0.34/t/data/simple_rwp.pl'
[ 53s] >> Mojo::IOLoop::ReadWriteProcess::_open_collect_status(): Forked code Process Exit status: 0
[ 53s] >> Mojo::IOLoop::ReadWriteProcess::_shutdown(): Shutdown 1550
[ 53s] >> Mojo::IOLoop::ReadWriteProcess::_open(): Execute: '/home/abuild/rpmbuild/BUILD/perl-Mojo-IOLoop-ReadWriteProcess-0.340.0-build/Mojo-IOLoop-ReadWriteProcess-0.34/t/data/sigchld_handler.pl'
[ 53s] >> Mojo::IOLoop::ReadWriteProcess::_open_collect_status(): Forked code Process Exit status: 0
[ 53s] >> Mojo::IOLoop::ReadWriteProcess::_shutdown(): Shutdown 1552
[ 53s] # Looks like you failed 1 test of 12.
[ 53s] t/01_run.t ...............
Suggestions¶
- Mitigate by removing the check based on architecture
- Consider reporting an upstream issue in https://github.com/openSUSE/Mojo-IOLoop-ReadWriteProcess/ but be aware that it is mostly us anyway that would need to fix such issues
- Consider workarounds within the test module
- Be aware about #176148
- Fix the root cause
- Remove mitigations
- Ensure stability within multi-arch OBS checks
- Confirm if this also affects GitHub CI e.g. by proposing a trivial PR and checking the result
Actions