Idea: make the recorder's broken-synchronization test reliable on Windows #90

Open
opened 2026-11-13 02:27:28 +00:00 by mooki · 0 comments

The idea

Investigate and repair the recorder regression test's timing-dependent negative case without weakening its assertions or hiding failures.

While checking the commit-pinning pull request, I reported a Windows failure and promised to investigate it separately. The test deliberately makes vkDestroyBuffer run without waiting, but that broken variant was reported as NOT CAUGHT. This was not caused by the commit-pinning files and was not one of the two unrelated source-check failures repaired on main that day.

The investigation has not been delivered. Longshot main still contains the same negative variant and its failure check. Its later history contains the project rename, not a repair of this reported case. A successful run on another occasion is not proof that the failure cannot recur.

Find the missing synchronization or observation guarantee in the test, retain the original failing output, and make the broken behavior detectable independently of thread scheduling. Do not delete the variant, replace it with a source-text check, or increase a timeout and call that a causal fix. There is no evidence here of a new runtime renderer failure.

Anything else

Pull request 71 is the moved commit-pinning change. It is the context where the problem was noticed, not its fix; this investigation should stay separate. The known symptom is a Windows test failure. No new Windows execution, confirmed cause or repaired fixture is claimed in this migration.

Reported on GitHub as NotRexed/Hookshot#2830; taken on there by mooki.

### The idea Investigate and repair the recorder regression test's timing-dependent negative case without weakening its assertions or hiding failures. While checking the commit-pinning pull request, I [reported a Windows failure and promised to investigate it separately](https://github.com/NotRexed/Hookshot/pull/2830#issuecomment-6832639364). The test deliberately makes `vkDestroyBuffer` run without waiting, but that broken variant was reported as **NOT CAUGHT**. This was not caused by the commit-pinning files and was not one of the two unrelated source-check failures repaired on main that day. The investigation has not been delivered. Longshot main still contains the [same negative variant and its failure check](https://git.magicbean.dev/MagicBeanDev/Longshot/src/commit/6b2dafefe5a5108bc1ab99deb98dab74a5ba9dd6/tests/test_recorder_sync.py#L456-L498). Its later history contains the project rename, not a repair of this reported case. A successful run on another occasion is not proof that the failure cannot recur. Find the missing synchronization or observation guarantee in the **test**, retain the original failing output, and make the broken behavior detectable independently of thread scheduling. Do not delete the variant, replace it with a source-text check, or increase a timeout and call that a causal fix. There is no evidence here of a new runtime renderer failure. ### Anything else [Pull request 71](https://git.magicbean.dev/MagicBeanDev/Longshot/pulls/71) is the moved commit-pinning change. It is the context where the problem was noticed, not its fix; this investigation should stay separate. The known symptom is a Windows test failure. No new Windows execution, confirmed cause or repaired fixture is claimed in this migration. Reported on GitHub as NotRexed/Hookshot#2830; taken on there by mooki.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
MagicBeanDev/Longshot#90
No description provided.