Re: [Toaster] [PATCH] toaster: log ProcessLookupError in test_runbuilds
Tim Orling <[email protected]> Fri, 10 Nov 2023 11:16:55 -0800
| Newsgroups | org.yoctoproject.lists.toaster,org.openembedded.lists.bitbake-devel |
|---|---|
| Message-ID | <CANx9H-Cx-j=kcSOppNiA_B52By0ze9KF8Yi4yGV_b-gjvwC=PQ@mail.gmail.com> |
Ignore this patch. More analysis is required. On Fri, Nov 10, 2023 at 10:01 AM Richard Purdie < [email protected]> wrote: > On Fri, 2023-11-10 at 07:30 -0800, Tim Orling wrote: > > This repeatably fails: > > > > Exception in thread Thread-2: > > Traceback (most recent call last): > > File "/usr/lib/python3.10/threading.py", line 1016, in _bootstrap_inner > > self.run() > > File ".../poky/bitbake/lib/toaster/tests/commands/test_runbuilds.py", > line 39, in run > > os.kill(int(pid), signal.SIGTERM) > > ProcessLookupError: [Errno 3] No such process > > > > Rather than have a hard error, add logging and output as a warning. > > > > Signed-off-by: Tim Orling <[email protected]> > > --- > > lib/toaster/tests/commands/test_runbuilds.py | 11 +++++++++-- > > 1 file changed, 9 insertions(+), 2 deletions(-) > > > > diff --git a/lib/toaster/tests/commands/test_runbuilds.py > b/lib/toaster/tests/commands/test_runbuilds.py > > index c77d6cf4..14b35764 100644 > > --- a/lib/toaster/tests/commands/test_runbuilds.py > > +++ b/lib/toaster/tests/commands/test_runbuilds.py > > @@ -19,6 +19,10 @@ import time > > import subprocess > > import signal > > > > +import logging > > + > > +logger = logging.getLogger("toaster") > > + > > > > class KillRunbuilds(threading.Thread): > > """ Kill the runbuilds process after an amount of time """ > > @@ -36,8 +40,11 @@ class KillRunbuilds(threading.Thread): > > > > with open(pidfile_path) as pidfile: > > pid = pidfile.read() > > - os.kill(int(pid), signal.SIGTERM) > > - > > + try: > > + os.kill(int(pid), signal.SIGTERM) > > + except ProcessLookupError as err: > > + logger.warning("Failed to kill pid. %s" % err) > > + pass > > > > Is this a case of "just ensure bitbake has really exited"? If so we > perhaps don't need the warning as it is quite likely it has exited? > > When Toaster starts, the .runbuild.pid file is created in the $BUILDDIR. Manually running 'manage.py runbuilds' should leave a process running. My suspicion is the path to .runbuilds.pid is somehow getting mangled or a stale, old .runbuilds.pid is sticking around. Something is wonky in the test environment. > Cheers, > > Richard > >