-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Due to some change in the downstream history introduced in #343.
Thanks to @guilledk who also discovered this issue in practice during dev of a client project.
Not entirely sure which commit(s) are causing it yet but the error looks as follows (pulled out from #344):
ERROR tractor._supervise:_supervise.py:385 Nursery for ('root', '798cdc51-2c9e-4041-a162-6c4d0334feed') errored with
+ Exception Group Traceback (most recent call last):
| File "/home/goodboy/repos/tractor/tractor/_supervise.py", line 339, in _open_and_supervise_one_cancels_all_nursery
| yield anursery
| File "/home/goodboy/repos/tractor/tractor/_supervise.py", line 499, in open_nursery
| yield anursery
| File "/home/goodboy/repos/tractor/tractor/_clustering.py", line 58, in open_actor_cluster
| async with trio.open_nursery() as n:
| File "/home/goodboy/.virtualenvs/310tractor/lib/python3.10/site-packages/trio/_core/_run.py", line 850, in __aexit__
| raise combined_error_from_nursery
| trio.NonBaseMultiError: OSError(9, 'Bad file descriptor'), OSError(9, 'Bad file descriptor'), OSError(9, 'Bad file descriptor'), OSError(9, 'Bad file descriptor')
+-+---------------- 1 ----------------
| Traceback (most recent call last):
| File "/home/goodboy/repos/tractor/tractor/_clustering.py", line 63, in _start
| portals[name] = await an.start_actor(
| File "/home/goodboy/repos/tractor/tractor/_supervise.py", line 155, in start_actor
| parent_addr = self._actor.accept_addr
| File "/home/goodboy/repos/tractor/tractor/_runtime.py", line 1175, in accept_addr
| return self._listeners[0].socket.getsockname() # type: ignore
| OSError: [Errno 9] Bad file descriptor
+---------------- 2 ----------------
| Traceback (most recent call last):
| File "/home/goodboy/repos/tractor/tractor/_clustering.py", line 63, in _start
| portals[name] = await an.start_actor(
| File "/home/goodboy/repos/tractor/tractor/_supervise.py", line 155, in start_actor
| parent_addr = self._actor.accept_addr
| File "/home/goodboy/repos/tractor/tractor/_runtime.py", line 1175, in accept_addr
| return self._listeners[0].socket.getsockname() # type: ignore
| OSError: [Errno 9] Bad file descriptor
+---------------- 3 ----------------
| Traceback (most recent call last):
| File "/home/goodboy/repos/tractor/tractor/_clustering.py", line 63, in _start
| portals[name] = await an.start_actor(
| File "/home/goodboy/repos/tractor/tractor/_supervise.py", line 155, in start_actor
| parent_addr = self._actor.accept_addr
| File "/home/goodboy/repos/tractor/tractor/_runtime.py", line 1175, in accept_addr
| return self._listeners[0].socket.getsockname() # type: ignore
| OSError: [Errno 9] Bad file descriptor
+---------------- 4 ----------------
| Traceback (most recent call last):
| File "/home/goodboy/repos/tractor/tractor/_clustering.py", line 63, in _start
| portals[name] = await an.start_actor(
| File "/home/goodboy/repos/tractor/tractor/_supervise.py", line 155, in start_actor
| parent_addr = self._actor.accept_addr
| File "/home/goodboy/repos/tractor/tractor/_runtime.py", line 1175, in accept_addr
| return self._listeners[0].socket.getsockname() # type: ignore
| OSError: [Errno 9] Bad file descriptor
+------------------------------------TODO:
-
determine exact commit(s) which cause this issue in that history..
=> commit from Don't unset actor global on root teardown #347 which is now removed from Ipc failure while streaming #346 history.
=> funny enough this was the fix to a weird failure in the newtest_feeds.pystuff inpiker: Agg feedz pikers/piker#414 -
presumably provide a different fix before landing the dev branches that need the patches which are the cause 😂
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working