Skip to content

Conversation

jacobly0
Copy link
Member

@jacobly0 jacobly0 commented Oct 9, 2025

This was causing flaky CI failures.

Reproduced by running this program concurrently with CI workflows:

const std = @import("std");
pub fn main() !void {
    while (true) {
        var child: std.process.Child = .init(&.{"repro.exe"}, std.heap.page_allocator);
        _ = try child.spawnAndWait();
        const file = try std.fs.cwd().openFile("repro.exe", .{ .mode = .read_write });
        defer file.close();
    }
}

This was causing flaky CI failures.
@andrewrk
Copy link
Member

andrewrk commented Oct 9, 2025

Interesting. I think this logic will be a nice candidate to add into the Io implementation of opening files on Windows to disambiguate between real access denied error and a kernel bug. That way the same fix doesn't have to go into everybody's application code.

@mlugg
Copy link
Member

mlugg commented Oct 9, 2025

windows is a great platform with zero infuriating kernel bugs around basic filesystem usage 👍

@andrewrk andrewrk merged commit b2bc607 into ziglang:master Oct 11, 2025
9 checks passed
@jacobly0 jacobly0 deleted the win-race branch October 11, 2025 14:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants