← Back to team overview

launchpad-dev team mailing list archive

Re: Make build failures make me sad

 

On 9 January 2011 22:41, Tim Penhey <tim.penhey@xxxxxxxxxxxxx> wrote:
> Traceback (most recent call last):
>  File "./utilities/create-lp-wadl-and-apidoc.py", line 107, in <module>
>    sys.exit(main(args[1], options.force))
>  File "./utilities/create-lp-wadl-and-apidoc.py", line 86, in main
>    p.join()
>  File "/usr/lib/python2.6/multiprocessing/process.py", line 119, in join
>    res = self._popen.wait(timeout)
>  File "/usr/lib/python2.6/multiprocessing/forking.py", line 117, in wait
>    return self.poll(0)
>  File "/usr/lib/python2.6/multiprocessing/forking.py", line 106, in poll
>    pid, sts = os.waitpid(self.pid, flag)
> OSError: [Errno 4] Interrupted system call
> Writing apidoc for version 1.0 to lib/canonical/launchpad/apidoc.tmp/1.0.html
>
> I get this repeatedly when trying to do anything, whether it be make build,
> make schema or make run.
>
> It makes for hard interactive testing if I can't run launchpad.
>
> Anyone have any ideas how to fix it?

Either

1- make the code that's running waitpid catch eintr and retry (this is
arguably a bug in the python stdlib)
2- make the enclosing process not listen for whatever signal is
causing this to trap
3- it may be that as a workaround you can call into multiprocessing
repeatedly, but that might not work

strace may help you find out what signal it is.

I fixed something similar in test_for_merge.py a few months ago.

-- 
Martin



References