Skip to content

Stack traces when running out of disk space

Summary

This is a follow up of issue #623 (closed) which is mostly fixed and will not realistically happen now that it is fixed by !775 (merged) and !779 (merged)

Steps to reproduce

To reproduce this, you need to have an artifact on a volume which will run out of space.

You need the artifact being committed to be very large, larger than the headroom afforded by the cache quota algorithm.

When building an element which will exceed the headroom, or if for any reason the same volume has been filled by an external process to BuildStream, at commit time we will get an out of disk exception.

What is the current bug behavior?

We get a series of unhandled exceptions printed as BUG messages, as shown in #623 (closed)

What is the expected correct behavior?

We should get an error message indicating that there was no space left on the device, and we should force terminate any ongoing tasks as a result and exit gracefully.

If BuildStream was started with bst --log-file build.log, then we should also not see any exceptions due to not being able to add any logs to that master log.

Any ongoing tasks which might be logging to individual log files, should also not trigger exceptions in this case.

Relevant logs and/or screenshots

See #623 (closed)

Possible fixes

Other relevant information

  • BuildStream version affected: /milestone %BuildStream_v1.x

To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information