-
Notifications
You must be signed in to change notification settings - Fork 12.6k
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
Clang crashes segmentation fault due to stack overflow on deeply nested expressions #111699
Labels
Comments
@llvm/issue-subscribers-clang-codegen Author: Boaz Brickner (bricknerb)
For example, if you do 1,000 nested expression calls like this one:
You will get a segmentation fault crash. |
Is this based on an actual crash or just theoretical? |
Yes, clang actually crashed on actual use case we had. |
DanielCChen
pushed a commit
to DanielCChen/llvm-project
that referenced
this issue
Oct 16, 2024
…ted expressions (llvm#111701) Done by calling clang::runWithSufficientStackSpace(). Added CodeGenModule::runWithSufficientStackSpace() method similar to the one in Sema to provide a single warning when this triggers Fixes: llvm#111699
bricknerb
added a commit
to bricknerb/llvm-project
that referenced
this issue
Oct 17, 2024
…ted expressions (llvm#111701) Done by calling clang::runWithSufficientStackSpace(). Added CodeGenModule::runWithSufficientStackSpace() method similar to the one in Sema to provide a single warning when this triggers Fixes: llvm#111699
EricWF
pushed a commit
to efcs/llvm-project
that referenced
this issue
Oct 22, 2024
…ted expressions (llvm#111701) Done by calling clang::runWithSufficientStackSpace(). Added CodeGenModule::runWithSufficientStackSpace() method similar to the one in Sema to provide a single warning when this triggers Fixes: llvm#111699
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
For example, if you do ~10,000 nested expression calls like this one:
a.foo().foo().foo() ...
You will get a segmentation fault crash.
The text was updated successfully, but these errors were encountered: