-
-
Notifications
You must be signed in to change notification settings - Fork 2.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
Append lld --stack-first on wasm targets #5501
Conversation
Comparison: ; Before
(global (;stack_start;) (mut i32) (i32.const 66576))
(global (;quuz;) i32 (i32.const 1028))
; After
(global (;stack_start;) (mut i32) (i32.const 65536))
(global (;quuz;) i32 (i32.const 65540)) Looks good! 👍 |
I think the CI failure is exposing an existing bug.
This looks like a stack overflow. The current output "pads the stack" with globals — we accidentally consume too much stack space but it's simply stealing/corrupting memory from globals. |
Interesting. I've noticed the same buggy behaviour when troubleshooting the disabled tests in |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks great!
I'm not sure what others reckon but IMHO skipping the failing tests in Wasm is OK for now until we figure out what the exact cause is and how to rectify it (a subject of a subsequent PR I guess?). @fengb thoughts?
The medium term solution is probably adding a manual stack size override: #3735 (comment). In the meantime, I think skipping it is okay. |
FYI, the CI failure should go away after we merge in #5529 which increases the default stack size to 1MB. |
Since #5529 got merged, can this get merged too? |
SGTM! Could you rebase to the current upstream and see if the tests now pass though? |
@kubkon Done. Looks like tests are now passing. |
Closes #4496