Re: [whatwg/dom] AbortSignal.any() assertion failure (Issue #1293)

Thanks, yes that's indeed a problem. I confirmed we hit the same assert in Chromium.

Re: moving the steps around, I think step 6 in "signal abort" might need to go above step 3 though, since running the abort algorithms can invoke JS, which could also call `AbortSignal.any()` and hit that assert (i.e the problem is running _any_ JS between setting the source's abort reason and dependents')?

If we wanted to maintain the same order, we'd need to change "create a dependent abort signal" to check for the aborted state of the dependent signals' source signals, but then you could get cases where `AbortSignal.any([b])` returns an aborted signal even though `b` isn't aborted yet. I guess you could also propagate the aborted state separately first, but that's a lot more complexity than it's probably worth.


-- 
Reply to this email directly or view it on GitHub:
https://github.com/whatwg/dom/issues/1293#issuecomment-2181641556
You are receiving this because you are subscribed to this thread.

Message ID: <whatwg/dom/issues/1293/2181641556@github.com>

Received on Thursday, 20 June 2024 22:13:14 UTC