Commit 9abee660dc

Andrew Kelley <andrew@ziglang.org>
2020-03-11 00:28:05
fix stack trace code not opening files in forced blocking mode
1 parent cd26d3b
Changed files (4)
lib/std/event/group.zig
@@ -120,9 +120,11 @@ test "std.event.Group" {
     // https://github.com/ziglang/zig/issues/1908
     if (builtin.single_threaded) return error.SkipZigTest;
 
-    // TODO provide a way to run tests in evented I/O mode
     if (!std.io.is_async) return error.SkipZigTest;
 
+    // TODO this file has bit-rotted. repair it
+    if (true) return error.SkipZigTest;
+
     const handle = async testGroup(std.heap.page_allocator);
 }
 
lib/std/event/lock.zig
@@ -125,6 +125,9 @@ test "std.event.Lock" {
     // TODO https://github.com/ziglang/zig/issues/3251
     if (builtin.os.tag == .freebsd) return error.SkipZigTest;
 
+    // TODO this file has bit-rotted. repair it
+    if (true) return error.SkipZigTest;
+
     var lock = Lock.init();
     defer lock.deinit();
 
lib/std/net/test.zig
@@ -113,6 +113,6 @@ fn testClient(addr: net.Address) anyerror!void {
 fn testServer(server: *net.StreamServer) anyerror!void {
     var client = try server.accept();
 
-    const stream = &client.file.outStream().stream;
+    const stream = client.file.outStream();
     try stream.print("hello from server\n", .{});
 }
lib/std/debug.zig
@@ -964,7 +964,9 @@ fn openMachODebugInfo(allocator: *mem.Allocator, macho_file_path: []const u8) !M
 }
 
 fn printLineFromFileAnyOs(out_stream: var, line_info: LineInfo) !void {
-    var f = try fs.cwd().openFile(line_info.file_name, .{});
+    // Need this to always block even in async I/O mode, because this could potentially
+    // be called from e.g. the event loop code crashing.
+    var f = try fs.cwd().openFile(line_info.file_name, .{ .always_blocking = true });
     defer f.close();
     // TODO fstat and make sure that the file has the correct size