Eric Ernst and I debugged a BH leak and it was more involved than it should be. The problem is that BHs don't have a human-readable identifier, so low-level debugging techniques and inferences about the code are required to figure out which BH was leaked in production environments without easy debug access.
The leak ended up already being fixed upstream but let's improve diagnostics for leaked BHs so that this becomes quick and easy in the future. Stefan Hajnoczi (2): util/async: add a human-readable name to BHs for debugging util/async: print leaked BH name when AioContext finalizes include/block/aio.h | 31 ++++++++++++++++++++++++++++--- include/qemu/main-loop.h | 4 +++- tests/unit/ptimer-test-stubs.c | 2 +- util/async.c | 25 +++++++++++++++++++++---- util/main-loop.c | 4 ++-- 5 files changed, 55 insertions(+), 11 deletions(-) -- 2.30.2