-
-
Notifications
You must be signed in to change notification settings - Fork 4.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
3.44.2 to 3.44.3 Max call stack exceeded #7032
Comments
@rmunn from the changelog #6920 looks very much related and could be the cause (there are only three entries in the changelog)? The original @thousandsofraccoons could you sprinkle some |
@Prinzhorn can you please specify relative paths for files that need to be tested with
|
I think I found a way to reproduce. I think it happens after redirect and immediately following conditional rendering. I'll create a test repo in a few hours |
The file you'll need to test will be function flush() {
const saved_component = current_component;
// Add a call here
console.log('flush() starting with saved component', saved_component, 'and flushidx is', flushidx);
// ... rest of function ...
set_current_component(saved_component);
// Add a call here
console.log('flush() ending, having restored saved component', saved_component, 'and flushidx is now', flushidx);
} You'll end up with a LOT of noise in the browser console that way, but the most valuable will be the final parts of the log right before the call stack size is exceeded. Being able to see whether the saved component is |
I have the same bug |
@thousandsofraccoons were you able to come up with a test repo? |
If I'm right about what's causing this, there's a bugfix in 3.46.4 that should fix this too. @thousandsofraccoons, can you re-test with Svelte 3.46.4 and see if that version fixes this issue for you? |
This does seem to be a duplicate of #4694. Closing this, but feel free to re-open if the issue still persist. |
@bluwy The issue still persists for us. Please re-open. |
Please provide a reproduction 👍 |
@Conduitry @rmunn I reverted locally all the changes that were in this PR and the bug stopped reproducing. Maybe this information will be useful. |
Hey, So I do not know too much about the lack of this logic is essentially the cause of this error: I am able to replicate this if I load/unload a component multiple times over. I believe it's just non-stop attempting to flush even if another flush is still in progress. This is definitely a bug that is still occurring. Happy to help someone who knows a bit more about the logic here. cc. @rmunn Edit: Could we can still safely bring back the |
@ruslan-khomiak created a reproduction https://svelte.dev/repl/86b8b83f2e2b475e8e92aaa4df9c7da2?version=3.44.2 - everything is good Looks like the problem appeared after the merge of this PR: https://github.com/sveltejs/svelte/pull/6920/files Let us know if this is sufficient. |
@benmccann @dummdidumm @Conduitry Guys, #6920 broke 3.44.3 for us and it is still broken in 3.52.0 It's been almost a year now. Could you please revert this PR please? |
Fixes part of sveltejs#7032 Fixes sveltejs#6298
@dummdidumm Wanted to test your PR, installed with npm i --save-dev sveltejs/svelte#pull/7981/head |
you need to do a production build first. easiest way is probably to set |
maybe you know how to do it with Webpack ? |
I'm talking about the |
@dummdidumm @bluwy @Conduitry @rmunn |
It should be fixed by #8114. |
This should be fixed in 3.55.1 - https://svelte.dev/repl/86b8b83f2e2b475e8e92aaa4df9c7da2?version=3.55.1 |
Describe the bug
After version bumping I getting
Maximum call stack size exceeded
at random components:Reproduction
The project has ~200k lines, it is difficult to share some code. Normally it happens during conditional rendering when some variable got changed and something appears in the viewport.
Logs
System Info
Severity
blocking all usage of svelte
The text was updated successfully, but these errors were encountered: