Conversation
Temporary, and not to be merged. Every candidate commit is a job under both Swift minors, and each job runs the asynchronous locks' measurements over and over for as long as its budget lasts, counting the runs that fail.
Every candidate crashed as often as develop for the time it ran, the one before the push included, and four of the crashes were inside measurements that run an actor and none of the package's locks. Give each kind of measurement a process to itself: the actors, the locks, and the semaphore suite that has not crashed yet.
The measurements that run an actor and none of the package's locks crashed fourteen times in 1249 runs, in a process of their own. Reproducer is what they do as a program that depends on nothing, run the same way, and on x86_64 beside arm64 to say whether the architecture is part of it.
4 of 8 tasks
Owner
Author
|
Done with: no commit brought the crash, none of the package's code is needed for it, and it is arm64's alone. The three rounds, their numbers and the reproducer are written up in #11. |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Not to be merged. This exists to run
.github/workflows/bisect.ymlon the runner the crash happens on.What is being looked for
On the
Ubuntu 24.04 · Swift 6.x (arm64)rows, a libdispatch worker dies during the asynchronous locks' measurements:0xffffffff89abcdefisDISPATCH_OBJECT_LISTLESS: the root queue's head is an item whosedo_nextwas marked as being on no list. Seen since the push that ended at 6eb547f, about one run in two, under both Swift minors, inAsyncMutexPerformanceTestsandAsyncRWLockPerformanceTestsand never inAsyncSemaphorePerformanceTests; never on x86_64, macOS, or a sanitized row. It does not reproduce locally.How
Six candidates × two Swift minors, one job each, all on
ubuntu-24.04-arm. Each builds the release test binary with the flagsswift.ymluses and runs the two suites repeatedly for 35 minutes, or until four runs have failed. The count goes to the run's summary.@exclusivity(unchecked),unowned(unsafe)