Skip to content

Type error when a child process fails

When one buildstream child process failed, I get a TypeError in the SIGCHLD signal handler. I'm running BuildStream inside docker on a MacBook.

I use the following HEAD commit:

commit e023beb56b180316a58f409d48f158e9dc1ece95
Refs: [master], {bst/master}, 1.1.3-56-ge023beb5
Author:     Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
AuthorDate: Thu May 17 14:41:11 2018 +0900
Commit:     Tristan Van Berkom <tristan.vanberkom@codethink.co.uk>
CommitDate: Thu May 17 14:46:46 2018 +0900

Here is the error:


Choose one of the following options:
  (c)ontinue  - Continue queueing jobs as much as possible
  (q)uit      - Exit after all ongoing jobs complete
  (t)erminate - Terminate any ongoing jobs and exit
  (r)etry     - Retry this job
  (l)og       - View the full log file
  (s)hell     - Drop into a shell in the failed build sandbox

Pressing ^C will terminate jobs and exit

Unknown exception in SIGCHLD handler
Traceback (most recent call last):
  File "/usr/lib/python3.6/asyncio/unix_events.py", line 819, in _sig_chld
    self._do_waitpid_all()
  File "/usr/lib/python3.6/asyncio/unix_events.py", line 885, in _do_waitpid_all
    self._do_waitpid(pid)
  File "/usr/lib/python3.6/asyncio/unix_events.py", line 919, in _do_waitpid
    callback(pid, returncode, *args)
  File "/buildstream/buildstream/_scheduler/job.py", line 523, in _parent_child_completed
    self._complete_cb(self, self.element, returncode == 0, self._result)
  File "/buildstream/buildstream/_scheduler/queue.py", line 346, in _job_done
    self._scheduler.job_completed(self, job, success)
  File "/buildstream/buildstream/_scheduler/scheduler.py", line 316, in job_completed
    self._job_complete_callback(job.element, queue, job.action_name, success)
  File "/buildstream/buildstream/_frontend/app.py", line 520, in _job_completed
    self._handle_failure(element, queue, failure)
  File "/buildstream/buildstream/_frontend/app.py", line 562, in _handle_failure
    .format(failure.action_name, element.name))
  File "/buildstream/buildstream/_frontend/linuxapp.py", line 32, in notify
    term = os.environ('TERM')
TypeError: '_Environ' object is not callable
^C
Aborted!
root@5f4ce1ff7cf7:/ic# 
Edited by Antoine Wacheux
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information