an ongoing hobbytask i have atm is storing an index of all the subtransactions on arweave, on arweave itself, using only free subsidized transactions. it _almost_ works, but then i fix a small bug and add 8 others, and it hobbles again. right now it has something like 400 threads going. it's in python for similarity to other stuff i've written or engaged recently (cognitive ease). it's paused at some breakpoint i set to investigate a problem that happens after the breakpoint. it might make sense to disable threading for this -- but i haven't yet convinced myself that the bug is big enough to do that. here's the backtrace where it's paused: INFO:ar:Adding items from bundle sHSKy34QsTQF-mTIojZ7KXxLpih0S-2xkhL7xtygnww (Pdb) bt /usr/local/lib/python3.10/threading.py(973)_bootstrap() -> self._bootstrap_inner() /usr/local/lib/python3.10/threading.py(1016)_bootstrap_inner() -> self.run() /usr/local/lib/python3.10/threading.py(953)run() -> self._target(*self._args, **self._kwargs) /shared/src/arweave-python-client/toys/indexer.py(358)single_job() -> output[idx] = self.action(input[idx]) /shared/src/arweave-python-client/toys/indexer.py(621)<lambda>() -> action = lambda leaf: leaf.flush(top_down = True), /shared/src/arweave-python-client/toys/indexer.py(639)flush() -> with self.lock, self.remote_data: /shared/src/arweave-python-client/toys/indexer.py(270)__exit__() -> self.flush()
/shared/src/arweave-python-client/toys/indexer.py(339)flush() -> id, *extra = self.loader.send(self.shadow, tags=tags)