On Wed, Aug 05, 2020 at 10:52:31PM +0200, Michał Mirosław wrote:
> On Wed, Aug 05, 2020 at 09:28:12PM +0300, Peter Pentchev wrote:
> > On Wed, Aug 05, 2020 at 08:01:53PM +0200, Michał Mirosław wrote:
> > > On Sun, Aug 02, 2020 at 05:34:40PM +0300, Peter Pentchev wrote:
> > > > On Sun, Aug 02, 2020 at 02:02:22AM +0200, Michał Mirosław wrote:
> > > [...]
> > > > --- a/debian/tests/runtime
> > > > +++ b/debian/tests/runtime
> > > > @@ -432,6 +432,7 @@ MAIN:
> > > >
> > > > if (!defined $line) {
> > > > $eof->send($got_version);
> > > > + undef $f_out;
> > > > } elsif (!$got_version) {
> > > > if ($line =~ m{^
> > > > stunnel \s+
> > >
> > > I believe $f_out will not be defined here, as it only gets set after
> > > sub{} is created. Perl confirms this:
> > >
> > > $ TEST_STUNNEL=src/stunnel strace -f -o /tmp/log debian/tests/runtime
> > > Global symbol "$f_out" requires explicit package name (did you forget to
> > > declare "my $f_out"?) at debian/tests/runtime line 435.
> > > Execution of debian/tests/runtime aborted due to compilation errors.
> >
> > Of course you're right. Sorry about that! That's what I get for writing
> > a patch three minutes before I have to head out and never remembering to
> > actually test it later :(
> >
> > How about the attached one?
[snip]
>
> This stops the endless readings of EOF, but:
>
> 1. the FD gets leaked (shouldn't matter much, though)
> 2. the test hangs anyway
>
> Using print-debugging, I see that it stops at wait_for_child line just
> after printing the version. It seems that something is reaping the child
> before the main thread has a chance to wait for it.
OK, so the only thing that comes to my mind now is that you may be
hitting a crazy, crazy race between register_child() and child_reaper(),
and I say "a crazy, crazy race", because the test has to (apparently
reproducibly) receive the CHLD signal exactly between the check and
the creation in register_child()'s first "$children{...} //= ...cv"
statement.
Can you apply the following patch and show me the output of running
the test?
G'luck,
Peter
--
Peter Pentchev [email protected] [email protected] [email protected]
PGP key: http://people.FreeBSD.org/~roam/roam.key.asc
Key fingerprint 2EE7 A7A5 17FC 124C F115 C354 651E EFB0 2527 DF13
signature.asc
Description: PGP signature

