Skip to content

Build sometimes hangs forever after "Unknown exception in SIGCHLD handler"

Sometimes BuildStream hits this error in job.py, after which the build will continue forever and ever until I Ctrl+C. I don't know what's needed to trigger this error condition. It happens to me every few days.

[00:00:00][01b48bc7][build:core/glib-networking.bst      ] SUCCESS Running strip-commands
[00:00:15][01b48bc7][build:core/glib-networking.bst      ] BUG     Build

    An unhandled exception occured:
    
    Traceback (most recent call last):
      File "/home/mcatanzaro/.local/lib/python3.6/site-packages/buildstream/_scheduler/job.py", line 265, in child_action
        result = self.action(element)
      File "/home/mcatanzaro/.local/lib/python3.6/site-packages/buildstream/_scheduler/buildqueue.py", line 34, in process
        element._assemble()
      File "/home/mcatanzaro/.local/lib/python3.6/site-packages/buildstream/element.py", line 1125, in _assemble
        self._assemble_done()
      File "/home/mcatanzaro/.local/lib/python3.6/site-packages/buildstream/element.py", line 814, in _assemble_done
        assert(self.__assemble_scheduled)
    AssertionError

======================================== 00:00:33 gnome (13/13) ========================================
                   (Tracked:1 12 0)→ (Pulled:0 13 0)→ (Fetched:0 13 0)→ (Built:0 12 0)                   
                                        ~~~~~ Active Tasks ~~~~~                                        
00:00:15[Build:core/glib-networking.bst]
Unknown exception in SIGCHLD handler
Traceback (most recent call last):
  File "/usr/lib64/python3.6/asyncio/unix_events.py", line 810, in _sig_chld
    self._do_waitpid_all()
  File "/usr/lib64/python3.6/asyncio/unix_events.py", line 876, in _do_waitpid_all
    self._do_waitpid(pid)
  File "/usr/lib64/python3.6/asyncio/unix_events.py", line 910, in _do_waitpid
    callback(pid, returncode, *args)
  File "/home/mcatanzaro/.local/lib/python3.6/site-packages/buildstream/_scheduler/job.py", line 327, in child_complete
    self.complete(self, returncode, element)
  File "/home/mcatanzaro/.local/lib/python3.6/site-packages/buildstream/_scheduler/queue.py", line 212, in job_done
    if self.done(element, job.result, returncode):
  File "/home/mcatanzaro/.local/lib/python3.6/site-packages/buildstream/_scheduler/buildqueue.py", line 51, in done
    element._assemble_done()
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information