-
Notifications
You must be signed in to change notification settings - Fork 550
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
Detect stack overflow and reduce stack usage on debug build #1465
Comments
I would like to take
If those words aren't enough to explain the approach I would like to take, I can submit a draft PR to make it clear with code. |
I spent some time manually run Detail
And here is some large struct(in byte):
In this example, sqlparser consume about 140KB stack at peak, so I think there is little to optimize in |
I am busy doing some school works recently (would probably stay busy until the end of this semester), so if there is anyone interested in this issue, feel free to work on it. |
I will try to reproduce it with apache/datafusion#13177 next week, chances are that it's related. |
It seems like we decided to go the Perhaps it is worth revisiting the use of stacker in this library as well |
Oops, sorry, @Eason0729, I was searching for issues to link my pr to and just came across this ticket. Happy to work on this together, if you would like to review my pr once it's ready |
I try to reproduce the issue on with apache/datafusion#13177, it seem to work fine, and the stack usage seem more reasonable. I will investigate what make binary on Windows consume significantly more stack later. |
I am not maintainer, but I am glad to review it, so maintainer can work on other things. Notify me when it's ready. By the way, I would be the first PR I ever review. |
I will close this issue because
Feel free to reopen it to try figuring out what make binary on Windows consume significantly more stack. Thanks for participation in discussion! |
related to apache/datafusion#12731
The issue is that unoptimized(debug) build consume more stack memory, which known to cause stack overflow if stack size is less than 1MiB.
Expected change:
The text was updated successfully, but these errors were encountered: