Skip to content

A Zig file and a folder with the same name in the same directory crashes the compiler. #6688

@FireFox317

Description

@FireFox317
test ls
hello  hello.zig
➜  test cat hello.zig 
pub fn main() void {

}
➜  test zig build-exe hello.zig 
lld: error: cannot open output file hello: Is a directory
attempt to unwrap error: LLDReportedFailure
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/mem/Allocator.zig:319:16: 0x55c40b406129 in std.mem.Allocator.resize (zig1)
    const rc = try self.resizeFn(self, old_byte_slice, Slice.alignment, new_byte_count, 0, @returnAddress());
               ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/mem/Allocator.zig:319:16: 0x55c40b406129 in std.mem.Allocator.resize (zig1)
    const rc = try self.resizeFn(self, old_byte_slice, Slice.alignment, new_byte_count, 0, @returnAddress());
               ^
/home/timon/dev/zig/zig-source/src/link/Elf.zig:1647:9: 0x55c40b36e1c5 in link.Elf.linkWithLLD (zig1)
        return error.LLDReportedFailure;
        ^
/home/timon/dev/zig/zig-source/src/link/Elf.zig:716:9: 0x55c40b35dc86 in link.Elf.flush (zig1)
        return self.linkWithLLD(comp);
        ^
/home/timon/dev/zig/zig-source/src/link.zig:352:21: 0x55c40b31abc7 in link.File.flush (zig1)
            .elf => return @fieldParentPtr(Elf, "base", base).flush(comp),
                    ^
/home/timon/dev/zig/zig-source/src/Compilation.zig:1079:5: 0x55c40b313b9a in Compilation.update (zig1)
    try self.bin_file.flush(self);
    ^
/home/timon/dev/zig/zig-source/src/main.zig:1800:5: 0x55c40b2cbeb4 in main.updateModule (zig1)
    try comp.update();
    ^
/home/timon/dev/zig/zig-source/src/main.zig:1676:5: 0x55c40b2271c7 in main.buildOutputType (zig1)
    try updateModule(gpa, comp, zir_out_path, hook);
    ^
/home/timon/dev/zig/zig-source/src/main.zig:126:9: 0x55c40b2005c2 in main.mainArgs (zig1)
        return buildOutputType(gpa, arena, args, .{ .build = .Exe });
        ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/mem/Allocator.zig:319:16: 0x55c40b406129 in std.mem.Allocator.resize (zig1)
    const rc = try self.resizeFn(self, old_byte_slice, Slice.alignment, new_byte_count, 0, @returnAddress());
               ^
/home/timon/dev/zig/zig-source/lib/std/os.zig:1834:19: 0x55c40b4df74c in std.os.unlinkatZ (zig1)
        ENOENT => return error.FileNotFound,
                  ^
/home/timon/dev/zig/zig-source/lib/std/fs.zig:1313:25: 0x55c40b38f3af in std.fs.Dir.deleteFileZ (zig1)
            else => |e| return e,
                        ^
/home/timon/dev/zig/zig-source/lib/std/fs.zig:1292:13: 0x55c40b312527 in std.fs.Dir.deleteFile (zig1)
            return self.deleteFileZ(&sub_path_c);
            ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/mem/Allocator.zig:319:16: 0x55c40b406129 in std.mem.Allocator.resize (zig1)
    const rc = try self.resizeFn(self, old_byte_slice, Slice.alignment, new_byte_count, 0, @returnAddress());
               ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
/home/timon/dev/zig/zig-source/lib/std/heap.zig:83:5: 0x55c40b1fdaa9 in std.heap.cResize (zig1)
    return error.OutOfMemory;
    ^
???:?:?: 0x55c40b201635 in ??? (???)
/home/timon/dev/zig/zig-source/src/stage1.zig:43:43: 0x55c40b20036a in main (zig1)
        stage2.mainArgs(gpa, arena, args) catch unreachable;
                                          ^
[1]    67110 abort (core dumped)  zig build-exe hello.zig

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugObserved behavior contradicts documented or intended behaviorfrontendTokenization, parsing, AstGen, Sema, and Liveness.

    Type

    No type

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions