Toss in some breakpointed collapsers to catch eg
Such that when that strange (now marked xfail) case from 6348c83
shows
we can attempt to REPL it.
Thus far this has led to zero insight as to why the fail-after is not
raising a `TooSlowError` and instead the eg with embedded assert-error,
but likely mucking with the `trio.NurseryManager.__aexit__()` (prolly by
overriding it unfortunately..) will get us somewhere??
POST_final_eg_refinements_failafter_investigation
parent
5fc64107e5
commit
e50ba3e8a6
|
@ -468,7 +468,11 @@ async def _open_and_supervise_one_cancels_all_nursery(
|
|||
|
||||
# errors from this daemon actor nursery bubble up to caller
|
||||
async with (
|
||||
collapse_eg(),
|
||||
# collapse_eg(),
|
||||
collapse_eg(
|
||||
bp=True,
|
||||
hide_tb=False,
|
||||
),
|
||||
trio.open_nursery() as da_nursery,
|
||||
):
|
||||
try:
|
||||
|
@ -481,7 +485,11 @@ async def _open_and_supervise_one_cancels_all_nursery(
|
|||
# As such if the strategy propagates any error(s) upwards
|
||||
# the above "daemon actor" nursery will be notified.
|
||||
async with (
|
||||
collapse_eg(),
|
||||
# collapse_eg(),
|
||||
collapse_eg(
|
||||
bp=True,
|
||||
hide_tb=False,
|
||||
),
|
||||
trio.open_nursery() as ria_nursery,
|
||||
):
|
||||
an = ActorNursery(
|
||||
|
@ -621,11 +629,17 @@ async def _open_and_supervise_one_cancels_all_nursery(
|
|||
|
||||
# use `BaseExceptionGroup` as needed
|
||||
if len(errors) > 1:
|
||||
raise BaseExceptionGroup(
|
||||
beg = BaseExceptionGroup(
|
||||
'tractor.ActorNursery errored with',
|
||||
tuple(errors.values()),
|
||||
)
|
||||
beg.add_note(
|
||||
'This beg was created from an actor-nursery!\n'
|
||||
)
|
||||
await debug.pause(shield=True)
|
||||
raise beg
|
||||
else:
|
||||
# await debug.pause(shield=True)
|
||||
raise list(errors.values())[0]
|
||||
|
||||
# show frame on any (likely) internal error
|
||||
|
@ -683,16 +697,30 @@ async def open_nursery(
|
|||
# mark us for teardown on exit
|
||||
implicit_runtime: bool = True
|
||||
|
||||
async with open_root_actor(
|
||||
async with (
|
||||
# collapse_eg(),
|
||||
collapse_eg(
|
||||
bp=True,
|
||||
hide_tb=False,
|
||||
),
|
||||
open_root_actor(
|
||||
hide_tb=hide_tb,
|
||||
**kwargs,
|
||||
) as actor:
|
||||
) as actor
|
||||
):
|
||||
assert actor is current_actor()
|
||||
|
||||
try:
|
||||
async with _open_and_supervise_one_cancels_all_nursery(
|
||||
async with (
|
||||
# collapse_eg(),
|
||||
collapse_eg(
|
||||
bp=True,
|
||||
hide_tb=False,
|
||||
),
|
||||
_open_and_supervise_one_cancels_all_nursery(
|
||||
actor
|
||||
) as an:
|
||||
) as an,
|
||||
):
|
||||
|
||||
# NOTE: mark this nursery as having
|
||||
# implicitly started the root actor so
|
||||
|
|
Loading…
Reference in New Issue