Project

General

Profile

action #178183

Updated by tinita 2 months ago

## Observation 
 From https://build.opensuse.org/package/live_build_log/devel:openQA/perl-Mojo-IOLoop-ReadWriteProcess/openSUSE_Factory_PowerPC/ppc64le 

 ``` 
 [     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 

Back