-
Notifications
You must be signed in to change notification settings - Fork 10.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
Compiler crash with message "overlapping children" #78567
Comments
CC: @slavapestov |
I locally bisected this issue and it seems that this issue started with #76912 from October 2024. I built the toolchain at the following commits at which point this issue occurs and with @tshortli Any thoughts?
|
#76912 introduced the verification step that's failing, so reverting that PR doesn't really tell us anything. The verification is meant to catch broken invariants in a data structure that is used by availability checking in the compiler. It looks like you've found a test case that reproduces an issue. I'll take a look, but in the meantime explicitly turning off AST verification or refactoring the code should be ways to work around it. |
@tshortli Thanks for taking a look at this.
|
No, sorry I should have elaborated. I meant by compiling with We shouldn't turn off a verifier entirely just because an example of code that fails verification exists. The verifier is only firing automatically because you are using a development toolchain. |
Since availability scopes may be built at arbitrary times, the builder may encounter ASTs where SequenceExprs still exist and have not been folded, or it may encounter folded SequenceExprs that have not been removed from the AST. To avoid a double visit, track whether a SequenceExpr is folded and then customize how ASTVisitor handles folded sequeneces. Resolves rdar://142824799 and swiftlang#78567.
Since availability scopes may be built at arbitrary times, the builder may encounter ASTs where SequenceExprs still exist and have not been folded, or it may encounter folded SequenceExprs that have not been removed from the AST. To avoid a double visit, track whether a SequenceExpr is folded and then customize how ASTVisitor handles folded sequences. Resolves rdar://142824799 and swiftlang#78567.
Will be resolved by #78706. |
Since availability scopes may be built at arbitrary times, the builder may encounter ASTs where SequenceExprs still exist and have not been folded, or it may encounter folded SequenceExprs that have not been removed from the AST. To avoid a double visit, track whether a SequenceExpr is folded and then customize how ASTVisitor handles folded sequences. Resolves rdar://142824799 and swiftlang#78567.
Description
The compiler crashes with the following error message
Reproduction
Stack dump
Expected behavior
No crash
Environment
A BCNY windows build
compnerd.org Swift version 6.2-dev (LLVM 99b818a2e66f496, Swift ce3cc37e836693a)
Additional information
This doesn't fail with
swift-DEVELOPMENT-SNAPSHOT-2024-08-05-a.xctoolchain
but does withswift-DEVELOPMENT-SNAPSHOT-2024-11-19-a.xctoolchain
. Likely broken between August and November 2024.The text was updated successfully, but these errors were encountered: