# How can I debug the root cuase when StreamSplitDataIterator blocked waiting?

**URL:** https://discuss.ray.io/t/how-can-i-debug-the-root-cuase-when-streamsplitdataiterator-blocked-waiting/15463
**Category:** Uncategorized
**Created:** [August 6, 2024, 7:18am UTC](https://discuss.ray.io/t/how-can-i-debug-the-root-cuase-when-streamsplitdataiterator-blocked-waiting/15463 "2024-08-06T07:18:47Z")
**Posts on this page:** 1
**Showing post:** 3

<div class="post-metadata">

### Author: ![mitul93](https://avatars.discourse-cdn.com/v4/letter/m/91b2a8/32.png) [@mitul93](https://discuss.ray.io/u/mitul93)
#### Post date: [September 5, 2025, 1:54pm UTC](https://discuss.ray.io/t/how-can-i-debug-the-root-cuase-when-streamsplitdataiterator-blocked-waiting/15463/3 "2025-09-05T13:54:06Z")

</div>

See if this helps

> [@Training loop stuck at StreamSplitDataIterator](https://discuss.ray.io/t/training-loop-stuck-at-streamsplitdataiterator/23069/2):
>
> I found a problem in my code. My code originally ... if ray.train.get\_context().get\_world\_rank() == 0: ... ray.train.report(metrics, checkpoint=checkpoint) ... Documentation for ray.train.report states clearly that it should be called from all workers. ray.train.report was not called from non zero rank workers. Following change fixed my problem. ... if ray.train.get\_context().get\_world\_rank() == 0: ... ray.train.report(metrics, checkpoint=checkpoint) ... else: ray…

---

_[View the full topic](https://discuss.ray.io/t/how-can-i-debug-the-root-cuase-when-streamsplitdataiterator-blocked-waiting/15463)._
