aborting bst push command causes stack trace

When running

bst push --deps all apps/meta-gnome-apps-tested.bst

And things are failing, perhaps connectivity reasons, I tried retry option once, it failed, and decided to hit ^C on the next prompt.

The result is an ugly unhandled exception:

00:00:00][b1dbab84][ push:apps/accerciser.bst           ] FAILURE Sending artifact
[00:00:08][b1dbab84][ push:apps/accerciser.bst           ] FAILURE Pushing Artifact
[00:00:08][b1dbab84][ push:apps/accerciser.bst           ] FAILURE gnome/apps-accerciser/b1dbab84-push.19019.log

    Failed to push artifact gnome/apps-accerciser/b1dbab84ef8722a28a2062314171155f16e8f6a954395e25dc52bcb6ee4bb003: Expected reply, got none

    
        PKG_CONFIG_PATH: /usr/local/lib/pkgconfig:/usr/lib/pkgconfig
        SHELL: /bin/sh
        SOURCE_DATE_EPOCH: '1320937200'
        TERM: dumb
        TZ: UTC
        USER: tomjon
        USERNAME: tomjon
        V: '1'
    [--:--:--] START   [apps/accerciser.bst]: Pushing Artifact
    [--:--:--] START   [apps/accerciser.bst]: Preparing compressed archive
    [00:00:07] SUCCESS [apps/accerciser.bst]: Preparing compressed archive
    [--:--:--] START   [apps/accerciser.bst]: Sending artifact
    pushreceive: INFO: Executing ssh -l artifacts -p 10007 gnome7.codethink.co.uk bst-artifact-receive --verbose artifacts
    pushreceive: INFO: Receiving repository information
    ssh: connect to host gnome7.codethink.co.uk port 10007: Connection refused
    [00:00:00] FAILURE [apps/accerciser.bst]: Sending artifact
    [00:00:08] FAILURE [apps/accerciser.bst]: Pushing Artifact
    [00:00:08] FAILURE [apps/accerciser.bst]: Push
    
        Failed to push artifact gnome/apps-accerciser/b1dbab84ef8722a28a2062314171155f16e8f6a954395e25dc52bcb6ee4bb003: Expected reply, got none

[--:--:--][d621e192][ main:apps/evolution.bst            ] STATUS  Push suspending
[--:--:--][7a00f6e6][ main:apps/ghex.bst                 ] STATUS  Push suspending
[--:--:--][6e4be59e][ main:apps/libgit2-glib.bst         ] STATUS  Push suspending

Push failure on element: apps/accerciser.bst

Choose one of the following options:
  continue  - Continue queueing jobs as much as possible
  quit      - Exit after all ongoing jobs complete
  terminate - Terminate any ongoing jobs and exit
  retry     - Retry this job
  log       - View the full log file

Pressing ^C will terminate jobs and exit

Choice: [continue]: ^C

Terminating all jobs

[--:--:--][d621e192][ main:apps/evolution.bst            ] STATUS  Push resuming
[--:--:--][7a00f6e6][ main:apps/ghex.bst                 ] STATUS  Push resuming
[--:--:--][6e4be59e][ main:apps/libgit2-glib.bst         ] STATUS  Push resuming
[--:--:--][d621e192][ main:apps/evolution.bst            ] STATUS  Push terminating
[--:--:--][7a00f6e6][ main:apps/ghex.bst                 ] STATUS  Push terminating
[--:--:--][6e4be59e][ main:apps/libgit2-glib.bst         ] STATUS  Push terminating
[--:--:--][d2fca14e][ main:apps/gitg.bst                 ] STATUS  Push terminating
Process Process-13:
Traceback (most recent call last):
  File "/codethink/GNOME/buildstream/buildstream/_artifactcache/ostreecache.py", line 352, in push
    [ref, weak_ref], output_file)
  File "/codethink/GNOME/buildstream/buildstream/_artifactcache/pushreceive.py", line 675, in push
    pusher.run()
  File "/codethink/GNOME/buildstream/buildstream/_artifactcache/pushreceive.py", line 459, in run
    args = self.reader.receive_info()
  File "/codethink/GNOME/buildstream/buildstream/_artifactcache/pushreceive.py", line 266, in receive_info
    cmdtype, args = self.receive([PushCommandType.info])
  File "/codethink/GNOME/buildstream/buildstream/_artifactcache/pushreceive.py", line 260, in receive
    raise PushException('Expected reply, got none')
buildstream._artifactcache.pushreceive.PushException: Expected reply, got none

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/codethink/GNOME/buildstream/buildstream/_scheduler/job.py", line 265, in child_action
    result = self.action(element)
  File "/codethink/GNOME/buildstream/buildstream/_scheduler/pushqueue.py", line 39, in process
    return element._push()
  File "/codethink/GNOME/buildstream/buildstream/element.py", line 1173, in _push
    return self.__artifacts.push(self)
  File "/codethink/GNOME/buildstream/buildstream/_artifactcache/ostreecache.py", line 354, in push
    raise _ArtifactError("Failed to push artifact {}: {}".format(ref, e)) from e
buildstream.exceptions._ArtifactError: Failed to push artifact gnome/apps-evolution/d621e19297b2df27ed9607cb0a355a7dafcab6f92a5417bc6bbd78ad48666fab: Expected reply, got none

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/codethink/GNOME/buildstream/buildstream/element.py", line 1289, in _logging_enabled
    yield self.__log_path
  File "/codethink/GNOME/buildstream/buildstream/_scheduler/job.py", line 281, in child_action
    self.child_shutdown(1)
  File "/codethink/GNOME/buildstream/buildstream/_scheduler/job.py", line 314, in child_shutdown
    sys.exit(exit_code)
SystemExit: 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/usr/lib/python3.5/multiprocessing/process.py", line 249, in _bootstrap
    self.run()
  File "/usr/lib/python3.5/multiprocessing/process.py", line 93, in run
    self._target(*self._args, **self._kwargs)
  File "/codethink/GNOME/buildstream/buildstream/_scheduler/job.py", line 297, in child_action
    logfile=filename)
  File "/usr/lib/python3.5/contextlib.py", line 77, in __exit__
    self.gen.throw(type, value, traceback)
  File "/codethink/GNOME/buildstream/buildstream/element.py", line 1291, in _logging_enabled
    self.__log_path = None
  File "/codethink/GNOME/buildstream/buildstream/_signals.py", line 37, in terminator_handler
    terminator()
  File "/codethink/GNOME/buildstream/buildstream/element.py", line 1282, in flush_log
    .format(action_name, self.name))
ValueError: I/O operation on closed file.
^C^C

[00:00:29][9ac8d8be][ main:apps/meta-gnome-apps-tested.bst] FAILURE Push failed
ERROR: 
Edited by Chandan Singh
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information