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