| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
Sorry, something went wrong.
The depth of the stack depends not only on the stack size, but also on the size of each stack frame, which in turn depends on which tier the recursive function happens to be running at when the overflow occurs. Under load the background tier-up can land at a non-deterministic point in the recursion and flake the test. Keep the recursive function in the interpreter with %NeverOptimizeFunction() so the frame size - and thus the depth - is deterministic. Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com>
Sorry, something went wrong.
The depth of the stack depends not only on the stack size, but also on the size of each stack frame, which in turn depends on which tier the recursive function happens to be running at when the overflow occurs. Under load the background tier-up can land at a non-deterministic point in the recursion and flake the test. Keep the recursive function in the interpreter with %NeverOptimizeFunction() so the frame size - and thus the depth - is deterministic. Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com> PR-URL: #64271 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
The depth of the stack depends not only on the stack size, but also on the size of each stack frame, which in turn depends on which tier the recursive function happens to be running at when the overflow occurs. Under load the background tier-up can land at a non-deterministic point in the recursion and flake the test. Keep the recursive function in the interpreter with %NeverOptimizeFunction() so the frame size - and thus the depth - is deterministic. Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com> PR-URL: #64271 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
The depth of the stack depends not only on the stack size, but also on the size of each stack frame, which in turn depends on which tier the recursive function happens to be running at when the overflow occurs. Under load the background tier-up can land at a non-deterministic point in the recursion and flake the test. Keep the recursive function in the interpreter with %NeverOptimizeFunction() so the frame size - and thus the depth - is deterministic. Signed-off-by: Joyee Cheung <joyeec9h3@gmail.com> PR-URL: #64271 Reviewed-By: Michaël Zasso <targos@protonmail.com> Reviewed-By: James M Snell <jasnell@gmail.com>
…ite (#53062) Backports nodejs/node#64271. The test compares the recursion depth two Workers reach before overflowing, but depth also depends on frame size, which changes when the recursive function tiers up mid-recursion. On a busy CI runner that lands non-deterministically and the depths end up >10% apart. Pin the function to the interpreter so the depth is stable. The fix is only in Node 26.6.0+, so it is carried as a patch until the Node roll picks it up.
…ite (#53075) Backports nodejs/node#64271. The test compares the recursion depth two Workers reach before overflowing, but depth also depends on frame size, which changes when the recursive function tiers up mid-recursion. On a busy CI runner that lands non-deterministically and the depths end up >10% apart. Pin the function to the interpreter so the depth is stable. The fix is only in Node 26.6.0+, so it is carried as a patch until the Node roll picks it up. Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Sam Attard <sattard@anthropic.com>
…ite (#53076) Backports nodejs/node#64271. The test compares the recursion depth two Workers reach before overflowing, but depth also depends on frame size, which changes when the recursive function tiers up mid-recursion. On a busy CI runner that lands non-deterministically and the depths end up >10% apart. Pin the function to the interpreter so the depth is stable. The fix is only in Node 26.6.0+, so it is carried as a patch until the Node roll picks it up. Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Sam Attard <sattard@anthropic.com>
…ite (#53077) Backports nodejs/node#64271. The test compares the recursion depth two Workers reach before overflowing, but depth also depends on frame size, which changes when the recursive function tiers up mid-recursion. On a busy CI runner that lands non-deterministically and the depths end up >10% apart. Pin the function to the interpreter so the depth is stable. The fix is only in Node 26.6.0+, so it is carried as a patch until the Node roll picks it up. Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Sam Attard <sattard@anthropic.com>
…ite (#53078) Backports nodejs/node#64271. The test compares the recursion depth two Workers reach before overflowing, but depth also depends on frame size, which changes when the recursive function tiers up mid-recursion. On a busy CI runner that lands non-deterministically and the depths end up >10% apart. Pin the function to the interpreter so the depth is stable. The fix is only in Node 26.6.0+, so it is carried as a patch until the Node roll picks it up. Co-authored-by: trop[bot] <37223003+trop[bot]@users.noreply.github.com> Co-authored-by: Sam Attard <sattard@anthropic.com>
| Back | FazBrowse Home | New Git URL |
Background: this is flaking in the canary as https://chromium-review.googlesource.com/c/v8/v8/+/7761796 made the function eligible for maglev tier-up. Locally this made the flake disappear for me. Opening against the main branch since it makes sense here anyway.
The depth of the stack depends not only on the stack size, but also on the size of each stack frame, which in turn depends on which tier the recursive function happens to be running at when the overflow occurs. Under load the background tier-up can land at a non-deterministic point in the recursion and flake the test. Keep the recursive function in the interpreter with %NeverOptimizeFunction() so the frame size - and thus the depth - is deterministic.