# VOL-Async: Debugging Async operation failures

**URL:** <https://forum.hdfgroup.org/t/vol-async-debugging-async-operation-failures/13055>\
**Category:** VOLs and VFDs\
**Created:** [February 14, 2025, 4:30pm UTC](https://forum.hdfgroup.org/t/vol-async-debugging-async-operation-failures/13055 "2025-02-14T16:30:56Z")\
**Posts on this page:** 1\
**Showing post:** 13

<div class="post-metadata">

**Author:** ![jhenderson](https://forum.hdfgroup.org/letter_avatar_proxy/v4/letter/j/73ab20/32.png) [@jhenderson](https://forum.hdfgroup.org/u/jhenderson)\
**Post date:** [February 24, 2025, 4:23pm UTC](https://forum.hdfgroup.org/t/vol-async-debugging-async-operation-failures/13055/13 "2025-02-24T16:23:31Z")

</div>

> This is not the case. `H5ESwait()` does not set `num_in_progress` or `op_failed` to something like `0` or `False` to indicate no failures have happened, it just leaves them to their default values. As I had not initialized the values, whatever random value was printed and interpreted, causing me to suspect an operation failure. This is also why there sometimes would be `0` failures, when the random value in memory happened to be `0`.

Note that `H5ESwait()` _should_ be initializing those values to `0` and `false` (see [hdf5/src/H5ES.c at develop · HDFGroup/hdf5 · GitHub](https://github.com/HDFGroup/hdf5/blob/develop/src/H5ES.c#L307) and [hdf5/src/H5ESint.c at develop · HDFGroup/hdf5 · GitHub](https://github.com/HDFGroup/hdf5/blob/develop/src/H5ESint.c#L743-L745)), so if it’s not we should investigate that. Off the top of my head, the only way that I can think of for those to not be initialized is if your error stack ID passed in to `H5ESwait()` is the value 0, which maps to the `H5ES_NONE` macro and would cause the function to act as a no-op.

Either way, I think this experimentation gives us valuable information about how we can make the documentation better here.

---

_[View the full topic](https://forum.hdfgroup.org/t/vol-async-debugging-async-operation-failures/13055)._
