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
[SR-9203] SuperChars benchmark crash #51693
Comments
CC @milseman |
Umm, those aren't single-grapheme. They should fail with a hard precondition failure, not just an internal assertion |
Are you saying the multi-flags in SuperChars should have never worked (there was a bug before, and the benchmark is written incorrectly)? (Do we have a gap in test coverage?) How come it all worked when you ran it on swift-ci in the PR? I thought it was just problem on my machine and have expected the issue was some kind of a difference between High Sierra and Mojave... |
The crash as an internal invariant check (that there's only one grapheme present) upon creation of the Character. If you have stdlib asserts enabled, then it will crash. The PR didn't trigger it because benchmark numbers are kinda meaningless if the stdlib has assertions turned on. Good for extra testing, though. We'll have to figure out if a full precondition is the right thing here... |
I'm pretty sure I was running this without stdlib asserts enabled: and same results for
Can you reproduce the crash? I really don't understand how it passed through swift-ci. // cc @eeckstein |
That builds with assertions. You need - |
<mind blown![](> Thanks, gonna try that) /build/Ninja-Release*Assert*/swift-macosx-x86_64/ – so that's what the Assert meant! |
Environment
Swift on master: commit f2c4250
macOS High Sierra: 10.13.6 (17G65)
Additional Detail from JIRA
md5: 70c4e538f4ef695575e02df69d59b9f8
Issue Description:
The SuperChars benchmark from the Swift Benchmarking Suite is crashing on latest master.
It seems that after landing PR #20315,
the multi-flag emojis are failing the sanity check in Character initialization:
The text was updated successfully, but these errors were encountered: