This is not a fix: it effectively doesn't change any behavior (the old code would take the `return` on line 2732), and doesn't avoid the failure (run the repro to see for yourself).
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
This is not a fix: it effectively doesn't change any behavior (the old code would take the `return` on line 2732), and doesn't avoid the failure (run the repro to see for yourself).
Sorry about PS1. That was indeed my misunderstanding and a no-op as Jakob san pointed out.
I uploaded PS2 as the actual fix, adding a decoder->current_catch() == -1 check
to skip the WKI fast path when inside a try block.
HandleWellKnownImport uses kCatchInThisFrame internally, which routes exceptions to the enclosing try's catch block. But return_call doesn't call MarkMightThrow(), so at kExprEnd the decoder skips the implicit CatchAll/Rethrow for catch-less try blocks, leaving that catch block unterminated in the graph.
Outside try blocks (current_catch() == -1), kCatchInThisFrame does not create exception-routing blocks, so the WKI fast path is safe there.
Tested with a debug build (is_debug=true, v8_enable_slow_dchecks=true). repro-529842414.js triggers a DCHECK failure before the fix and exits cleanly after. return-call-wki.js (no try blocks) still passes.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Daniel san created a fix (https://chromium-review.googlesource.com/c/v8/v8/+/8025515) and we can safely close this PL. Sorry to bother you.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Ayako Iwasaki abandoned this change.
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |
Thanks for following up here, and don't worry about having introduced a regression: it happens to all of us, that's why we have tests and fuzzers and so on.
I agree that crrev.com/c/8025515 has a few bits we'd still have to add here (in particular: great test coverage), so let's go with that. Sorry for the collision with your work; we appreciate your prompt effort to fix this, and are looking forward to future contributions 😊
| Inspect html for hidden footers to help with email filtering. To unsubscribe visit settings. |