You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
After implementing formatting in sourcekit-lsp I was investigating why it wasn't working for things that are nested four levels deep. After fighting with debugger, I had a hunch that it may be stack overflow. I found a comment in the function that was crashing:
// The implementation of every generated case goes into its own function. This// circumvents an issue where the compiler allocates stack space for every// case statement next to each other in debug builds, causing it to allocate// ~50KB per call to this function. rdar://55929175
I've just cut the swift-5.2-branch of swift-format which depends on swift-syntax 0.50200.0, which contains the above fix. The master branch is also using 0.50200.0 for the time being, so it will work there as well.
Additional Detail from JIRA
md5: 4111fa0935f36cb69278ce6ab26c299c
Issue Description:
Stack overflow 2: revenge of the rdar://55929175
After implementing formatting in sourcekit-lsp I was investigating why it wasn't working for things that are nested four levels deep. After fighting with debugger, I had a hunch that it may be stack overflow. I found a comment in the function that was crashing:
It crashes only in debug mode, on macos
To reproduce:
clone https://github.com/Trzyipolkostkicukru/sourcekit-lsp/tree/format and checkout commit ed642036f4b9ce7696ad340523ed8e9b4bdb9761
get toolchain swift-DEVELOPMENT-SNAPSHOT-2020-01-29-a and set it as your compiler
compile and set up sourcekit-lsp
try to format a file with 4+ levels of nesting, for example:
The text was updated successfully, but these errors were encountered: