Zig Version
0.17.0-dev.108+525aff604
Steps to Reproduce and Observed Behavior
Clone https://github.com/ghostty-org/ghostty or add it as a dependency in build.zig.zon.
Build a debug version of zig without libc, so it uses DebugAllocator.
Use that version of zig to run zig build --fetch:
error(DebugAllocator): memory address 0x7f38742a1b00 leaked:
/home/andy/src/zig/lib/std/mem/Allocator.zig:142:26: 0x176f042 in rawAlloc (std.zig)
return a.vtable.alloc(a.ptr, len, alignment, ret_addr);
^
/home/andy/src/zig/lib/std/mem/Allocator.zig:286:40: 0x176eec5 in allocWithSizeAndAlignment__anon_9453 (std.zig)
return self.allocBytesWithAlignment(alignment, byte_count, return_address);
^
/home/andy/src/zig/lib/std/mem/Allocator.zig:274:89: 0x176eb5c in allocAdvancedWithRetAddr (std.zig)
const ptr: [*]align(a.toByteUnits()) T = @ptrCast(try self.allocWithSizeAndAlignment(@sizeOf(T), a, n, return_address));
^
/home/andy/src/zig/lib/std/fs/path.zig:104:36: 0x176c90f in joinSepMaybeZ__anon_9398 (std.zig)
const buf = try allocator.alloc(u8, total_len);
^
/home/andy/src/zig/lib/std/fs/path.zig:136:25: 0x176da8d in join (std.zig)
return joinSepMaybeZ(allocator, sep, isSep, paths, false);
^
/home/andy/src/zig/lib/std/Build/Cache/Path.zig:36:37: 0x1b0c9b2 in join (std.zig)
.sub_path = try fs.path.join(arena, parts),
^
/home/andy/src/zig/src/Package/Fetch.zig:878:44: 0x1f910d4 in loadManifest (main.zig)
const manifest_path = try pkg_root.join(arena, Manifest.basename);
^
/home/andy/src/zig/src/Package/Fetch.zig:559:29: 0x1af717e in run (main.zig)
try loadManifest(f, pkg_root);
^
/home/andy/src/zig/src/Package/Fetch.zig:1046:8: 0x22b6f09 in workerRun (main.zig)
run(f) catch |err| switch (err) {
^
/home/andy/src/zig/lib/std/Io.zig:1261:17: 0x22b6d10 in start (std.zig)
_ = @as(Cancelable!void, @call(.auto, function, args_casted.*)) catch {};
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:552:22: 0x18c6b15 in start (std.zig)
task.func(task.contextPointer());
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:1797:29: 0x18c4d14 in worker (std.zig)
runnable.startFn(runnable, &thread, t);
^
/home/andy/src/zig/lib/std/Thread.zig:422:13: 0x18c49f5 in callFn__anon_27897 (std.zig)
@call(.auto, f, args);
^
/home/andy/src/zig/lib/std/Thread.zig:1431:30: 0x18c47b0 in entryFn (std.zig)
return callFn(f, self.fn_args);
^
/home/andy/src/zig/lib/std/os/linux/x86_64.zig:134:5: 0x18c4915 in clone (std.zig)
asm volatile (
^
error(DebugAllocator): memory address 0x7f38742a1f00 leaked:
/home/andy/src/zig/lib/std/mem/Allocator.zig:142:26: 0x176f042 in rawAlloc (std.zig)
return a.vtable.alloc(a.ptr, len, alignment, ret_addr);
^
/home/andy/src/zig/lib/std/mem/Allocator.zig:286:40: 0x176eec5 in allocWithSizeAndAlignment__anon_9453 (std.zig)
return self.allocBytesWithAlignment(alignment, byte_count, return_address);
^
/home/andy/src/zig/lib/std/mem/Allocator.zig:274:89: 0x176eb5c in allocAdvancedWithRetAddr (std.zig)
const ptr: [*]align(a.toByteUnits()) T = @ptrCast(try self.allocWithSizeAndAlignment(@sizeOf(T), a, n, return_address));
^
/home/andy/src/zig/lib/std/fs/path.zig:104:36: 0x176c90f in joinSepMaybeZ__anon_9398 (std.zig)
const buf = try allocator.alloc(u8, total_len);
^
/home/andy/src/zig/lib/std/fs/path.zig:136:25: 0x176da8d in join (std.zig)
return joinSepMaybeZ(allocator, sep, isSep, paths, false);
^
/home/andy/src/zig/lib/std/Build/Cache/Path.zig:36:37: 0x1b0c9b2 in join (std.zig)
.sub_path = try fs.path.join(arena, parts),
^
/home/andy/src/zig/src/Package/Fetch.zig:878:44: 0x1f910d4 in loadManifest (main.zig)
const manifest_path = try pkg_root.join(arena, Manifest.basename);
^
/home/andy/src/zig/src/Package/Fetch.zig:559:29: 0x1af717e in run (main.zig)
try loadManifest(f, pkg_root);
^
/home/andy/src/zig/src/Package/Fetch.zig:1046:8: 0x22b6f09 in workerRun (main.zig)
run(f) catch |err| switch (err) {
^
/home/andy/src/zig/lib/std/Io.zig:1261:17: 0x22b6d10 in start (std.zig)
_ = @as(Cancelable!void, @call(.auto, function, args_casted.*)) catch {};
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:552:22: 0x18c6b15 in start (std.zig)
task.func(task.contextPointer());
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:1797:29: 0x18c4d14 in worker (std.zig)
runnable.startFn(runnable, &thread, t);
^
/home/andy/src/zig/lib/std/Thread.zig:422:13: 0x18c49f5 in callFn__anon_27897 (std.zig)
@call(.auto, f, args);
^
/home/andy/src/zig/lib/std/Thread.zig:1431:30: 0x18c47b0 in entryFn (std.zig)
return callFn(f, self.fn_args);
^
/home/andy/src/zig/lib/std/os/linux/x86_64.zig:134:5: 0x18c4915 in clone (std.zig)
asm volatile (
^
error(DebugAllocator): memory address 0x7f38742a2300 leaked:
/home/andy/src/zig/lib/std/mem/Allocator.zig:142:26: 0x176f042 in rawAlloc (std.zig)
return a.vtable.alloc(a.ptr, len, alignment, ret_addr);
^
/home/andy/src/zig/lib/std/mem/Allocator.zig:286:40: 0x176eec5 in allocWithSizeAndAlignment__anon_9453 (std.zig)
return self.allocBytesWithAlignment(alignment, byte_count, return_address);
^
/home/andy/src/zig/lib/std/mem/Allocator.zig:274:89: 0x176eb5c in allocAdvancedWithRetAddr (std.zig)
const ptr: [*]align(a.toByteUnits()) T = @ptrCast(try self.allocWithSizeAndAlignment(@sizeOf(T), a, n, return_address));
^
/home/andy/src/zig/lib/std/fs/path.zig:104:36: 0x176c90f in joinSepMaybeZ__anon_9398 (std.zig)
const buf = try allocator.alloc(u8, total_len);
^
/home/andy/src/zig/lib/std/fs/path.zig:136:25: 0x176da8d in join (std.zig)
return joinSepMaybeZ(allocator, sep, isSep, paths, false);
^
/home/andy/src/zig/lib/std/Build/Cache/Path.zig:36:37: 0x1b0c9b2 in join (std.zig)
.sub_path = try fs.path.join(arena, parts),
^
/home/andy/src/zig/src/Package/Fetch.zig:878:44: 0x1f910d4 in loadManifest (main.zig)
const manifest_path = try pkg_root.join(arena, Manifest.basename);
^
/home/andy/src/zig/src/Package/Fetch.zig:559:29: 0x1af717e in run (main.zig)
try loadManifest(f, pkg_root);
^
/home/andy/src/zig/src/Package/Fetch.zig:1046:8: 0x22b6f09 in workerRun (main.zig)
run(f) catch |err| switch (err) {
^
/home/andy/src/zig/lib/std/Io.zig:1261:17: 0x22b6d10 in start (std.zig)
_ = @as(Cancelable!void, @call(.auto, function, args_casted.*)) catch {};
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:552:22: 0x18c6b15 in start (std.zig)
task.func(task.contextPointer());
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:1797:29: 0x18c4d14 in worker (std.zig)
runnable.startFn(runnable, &thread, t);
^
/home/andy/src/zig/lib/std/Thread.zig:422:13: 0x18c49f5 in callFn__anon_27897 (std.zig)
@call(.auto, f, args);
^
/home/andy/src/zig/lib/std/Thread.zig:1431:30: 0x18c47b0 in entryFn (std.zig)
return callFn(f, self.fn_args);
^
/home/andy/src/zig/lib/std/os/linux/x86_64.zig:134:5: 0x18c4915 in clone (std.zig)
asm volatile (
^
error(DebugAllocator): memory address 0x7f38742a2900 leaked:
/home/andy/src/zig/lib/std/mem/Allocator.zig:142:26: 0x176f042 in rawAlloc (std.zig)
return a.vtable.alloc(a.ptr, len, alignment, ret_addr);
^
/home/andy/src/zig/lib/std/mem/Allocator.zig:286:40: 0x176eec5 in allocWithSizeAndAlignment__anon_9453 (std.zig)
return self.allocBytesWithAlignment(alignment, byte_count, return_address);
^
/home/andy/src/zig/lib/std/mem/Allocator.zig:274:89: 0x176eb5c in allocAdvancedWithRetAddr (std.zig)
const ptr: [*]align(a.toByteUnits()) T = @ptrCast(try self.allocWithSizeAndAlignment(@sizeOf(T), a, n, return_address));
^
/home/andy/src/zig/lib/std/fs/path.zig:104:36: 0x176c90f in joinSepMaybeZ__anon_9398 (std.zig)
const buf = try allocator.alloc(u8, total_len);
^
/home/andy/src/zig/lib/std/fs/path.zig:136:25: 0x176da8d in join (std.zig)
return joinSepMaybeZ(allocator, sep, isSep, paths, false);
^
/home/andy/src/zig/lib/std/Build/Cache/Path.zig:36:37: 0x1b0c9b2 in join (std.zig)
.sub_path = try fs.path.join(arena, parts),
^
/home/andy/src/zig/src/Package/Fetch.zig:878:44: 0x1f910d4 in loadManifest (main.zig)
const manifest_path = try pkg_root.join(arena, Manifest.basename);
^
/home/andy/src/zig/src/Package/Fetch.zig:559:29: 0x1af717e in run (main.zig)
try loadManifest(f, pkg_root);
^
/home/andy/src/zig/src/Package/Fetch.zig:1046:8: 0x22b6f09 in workerRun (main.zig)
run(f) catch |err| switch (err) {
^
/home/andy/src/zig/lib/std/Io.zig:1261:17: 0x22b6d10 in start (std.zig)
_ = @as(Cancelable!void, @call(.auto, function, args_casted.*)) catch {};
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:552:22: 0x18c6b15 in start (std.zig)
task.func(task.contextPointer());
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:1797:29: 0x18c4d14 in worker (std.zig)
runnable.startFn(runnable, &thread, t);
^
/home/andy/src/zig/lib/std/Thread.zig:422:13: 0x18c49f5 in callFn__anon_27897 (std.zig)
@call(.auto, f, args);
^
/home/andy/src/zig/lib/std/Thread.zig:1431:30: 0x18c47b0 in entryFn (std.zig)
return callFn(f, self.fn_args);
^
/home/andy/src/zig/lib/std/os/linux/x86_64.zig:134:5: 0x18c4915 in clone (std.zig)
asm volatile (
^
error(DebugAllocator): memory address 0x7f3874b04d00 leaked:
/home/andy/src/zig/lib/std/array_list.zig:1235:56: 0x2284d47 in ensureTotalCapacityPrecise (std.zig)
const new_memory = try gpa.alignedAlloc(T, alignment, new_capacity);
^
/home/andy/src/zig/lib/std/array_list.zig:1211:51: 0x2059fe9 in ensureTotalCapacity (std.zig)
return self.ensureTotalCapacityPrecise(gpa, growCapacity(new_capacity));
^
/home/andy/src/zig/lib/std/array_list.zig:1265:41: 0x205910d in addOne (std.zig)
try self.ensureTotalCapacity(gpa, newlen);
^
/home/andy/src/zig/lib/std/array_list.zig:904:49: 0x2058ee7 in append (std.zig)
const new_item_ptr = try self.addOne(gpa);
^
/home/andy/src/zig/lib/std/zig/ErrorBundle.zig:353:36: 0x1a4a1a2 in init (std.zig)
try wip.string_bytes.append(gpa, 0);
^
/home/andy/src/zig/src/Package/Fetch.zig:526:16: 0x1af6a99 in run (main.zig)
try eb.init(gpa);
^
/home/andy/src/zig/src/Package/Fetch.zig:1046:8: 0x22b6f09 in workerRun (main.zig)
run(f) catch |err| switch (err) {
^
/home/andy/src/zig/lib/std/Io.zig:1261:17: 0x22b6d10 in start (std.zig)
_ = @as(Cancelable!void, @call(.auto, function, args_casted.*)) catch {};
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:552:22: 0x18c6b15 in start (std.zig)
task.func(task.contextPointer());
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:1797:29: 0x18c4d14 in worker (std.zig)
runnable.startFn(runnable, &thread, t);
^
/home/andy/src/zig/lib/std/Thread.zig:422:13: 0x18c49f5 in callFn__anon_27897 (std.zig)
@call(.auto, f, args);
^
/home/andy/src/zig/lib/std/Thread.zig:1431:30: 0x18c47b0 in entryFn (std.zig)
return callFn(f, self.fn_args);
^
/home/andy/src/zig/lib/std/os/linux/x86_64.zig:134:5: 0x18c4915 in clone (std.zig)
asm volatile (
^
error(DebugAllocator): memory address 0x7f3874b04e00 leaked:
/home/andy/src/zig/lib/std/array_list.zig:1235:56: 0x2220a57 in ensureTotalCapacityPrecise (std.zig)
const new_memory = try gpa.alignedAlloc(T, alignment, new_capacity);
^
/home/andy/src/zig/lib/std/array_list.zig:1211:51: 0x22206e9 in ensureTotalCapacity (std.zig)
return self.ensureTotalCapacityPrecise(gpa, growCapacity(new_capacity));
^
/home/andy/src/zig/lib/std/array_list.zig:1250:44: 0x22b385e in ensureUnusedCapacity (std.zig)
return self.ensureTotalCapacity(gpa, try addOrOom(self.items.len, additional_count));
^
/home/andy/src/zig/lib/std/zig/ErrorBundle.zig:731:43: 0x2058a6d in addExtra__anon_83589 (std.zig)
try wip.extra.ensureUnusedCapacity(gpa, fields.len);
^
/home/andy/src/zig/lib/std/zig/ErrorBundle.zig:355:33: 0x1a4a20d in init (std.zig)
assert(0 == try addExtra(wip, ErrorMessageList{
^
/home/andy/src/zig/src/Package/Fetch.zig:526:16: 0x1af6a99 in run (main.zig)
try eb.init(gpa);
^
/home/andy/src/zig/src/Package/Fetch.zig:1046:8: 0x22b6f09 in workerRun (main.zig)
run(f) catch |err| switch (err) {
^
/home/andy/src/zig/lib/std/Io.zig:1261:17: 0x22b6d10 in start (std.zig)
_ = @as(Cancelable!void, @call(.auto, function, args_casted.*)) catch {};
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:552:22: 0x18c6b15 in start (std.zig)
task.func(task.contextPointer());
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:1797:29: 0x18c4d14 in worker (std.zig)
runnable.startFn(runnable, &thread, t);
^
/home/andy/src/zig/lib/std/Thread.zig:422:13: 0x18c49f5 in callFn__anon_27897 (std.zig)
@call(.auto, f, args);
^
/home/andy/src/zig/lib/std/Thread.zig:1431:30: 0x18c47b0 in entryFn (std.zig)
return callFn(f, self.fn_args);
^
/home/andy/src/zig/lib/std/os/linux/x86_64.zig:134:5: 0x18c4915 in clone (std.zig)
asm volatile (
^
error(DebugAllocator): memory address 0x7f3874b05300 leaked:
/home/andy/src/zig/lib/std/array_list.zig:1235:56: 0x2284d47 in ensureTotalCapacityPrecise (std.zig)
const new_memory = try gpa.alignedAlloc(T, alignment, new_capacity);
^
/home/andy/src/zig/lib/std/array_list.zig:1211:51: 0x2059fe9 in ensureTotalCapacity (std.zig)
return self.ensureTotalCapacityPrecise(gpa, growCapacity(new_capacity));
^
/home/andy/src/zig/lib/std/array_list.zig:1265:41: 0x205910d in addOne (std.zig)
try self.ensureTotalCapacity(gpa, newlen);
^
/home/andy/src/zig/lib/std/array_list.zig:904:49: 0x2058ee7 in append (std.zig)
const new_item_ptr = try self.addOne(gpa);
^
/home/andy/src/zig/lib/std/zig/ErrorBundle.zig:353:36: 0x1a4a1a2 in init (std.zig)
try wip.string_bytes.append(gpa, 0);
^
/home/andy/src/zig/src/Package/Fetch.zig:526:16: 0x1af6a99 in run (main.zig)
try eb.init(gpa);
^
/home/andy/src/zig/src/Package/Fetch.zig:1046:8: 0x22b6f09 in workerRun (main.zig)
run(f) catch |err| switch (err) {
^
/home/andy/src/zig/lib/std/Io.zig:1261:17: 0x22b6d10 in start (std.zig)
_ = @as(Cancelable!void, @call(.auto, function, args_casted.*)) catch {};
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:552:22: 0x18c6b15 in start (std.zig)
task.func(task.contextPointer());
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:1797:29: 0x18c4d14 in worker (std.zig)
runnable.startFn(runnable, &thread, t);
^
/home/andy/src/zig/lib/std/Thread.zig:422:13: 0x18c49f5 in callFn__anon_27897 (std.zig)
@call(.auto, f, args);
^
/home/andy/src/zig/lib/std/Thread.zig:1431:30: 0x18c47b0 in entryFn (std.zig)
return callFn(f, self.fn_args);
^
/home/andy/src/zig/lib/std/os/linux/x86_64.zig:134:5: 0x18c4915 in clone (std.zig)
asm volatile (
^
error(DebugAllocator): memory address 0x7f3874b05400 leaked:
/home/andy/src/zig/lib/std/array_list.zig:1235:56: 0x2220a57 in ensureTotalCapacityPrecise (std.zig)
const new_memory = try gpa.alignedAlloc(T, alignment, new_capacity);
^
/home/andy/src/zig/lib/std/array_list.zig:1211:51: 0x22206e9 in ensureTotalCapacity (std.zig)
return self.ensureTotalCapacityPrecise(gpa, growCapacity(new_capacity));
^
/home/andy/src/zig/lib/std/array_list.zig:1250:44: 0x22b385e in ensureUnusedCapacity (std.zig)
return self.ensureTotalCapacity(gpa, try addOrOom(self.items.len, additional_count));
^
/home/andy/src/zig/lib/std/zig/ErrorBundle.zig:731:43: 0x2058a6d in addExtra__anon_83589 (std.zig)
try wip.extra.ensureUnusedCapacity(gpa, fields.len);
^
/home/andy/src/zig/lib/std/zig/ErrorBundle.zig:355:33: 0x1a4a20d in init (std.zig)
assert(0 == try addExtra(wip, ErrorMessageList{
^
/home/andy/src/zig/src/Package/Fetch.zig:526:16: 0x1af6a99 in run (main.zig)
try eb.init(gpa);
^
/home/andy/src/zig/src/Package/Fetch.zig:1046:8: 0x22b6f09 in workerRun (main.zig)
run(f) catch |err| switch (err) {
^
/home/andy/src/zig/lib/std/Io.zig:1261:17: 0x22b6d10 in start (std.zig)
_ = @as(Cancelable!void, @call(.auto, function, args_casted.*)) catch {};
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:552:22: 0x18c6b15 in start (std.zig)
task.func(task.contextPointer());
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:1797:29: 0x18c4d14 in worker (std.zig)
runnable.startFn(runnable, &thread, t);
^
/home/andy/src/zig/lib/std/Thread.zig:422:13: 0x18c49f5 in callFn__anon_27897 (std.zig)
@call(.auto, f, args);
^
/home/andy/src/zig/lib/std/Thread.zig:1431:30: 0x18c47b0 in entryFn (std.zig)
return callFn(f, self.fn_args);
^
/home/andy/src/zig/lib/std/os/linux/x86_64.zig:134:5: 0x18c4915 in clone (std.zig)
asm volatile (
^
error(DebugAllocator): memory address 0x7f3874b06d00 leaked:
/home/andy/src/zig/lib/std/array_list.zig:1235:56: 0x2284d47 in ensureTotalCapacityPrecise (std.zig)
const new_memory = try gpa.alignedAlloc(T, alignment, new_capacity);
^
/home/andy/src/zig/lib/std/array_list.zig:1211:51: 0x2059fe9 in ensureTotalCapacity (std.zig)
return self.ensureTotalCapacityPrecise(gpa, growCapacity(new_capacity));
^
/home/andy/src/zig/lib/std/array_list.zig:1265:41: 0x205910d in addOne (std.zig)
try self.ensureTotalCapacity(gpa, newlen);
^
/home/andy/src/zig/lib/std/array_list.zig:904:49: 0x2058ee7 in append (std.zig)
const new_item_ptr = try self.addOne(gpa);
^
/home/andy/src/zig/lib/std/zig/ErrorBundle.zig:353:36: 0x1a4a1a2 in init (std.zig)
try wip.string_bytes.append(gpa, 0);
^
/home/andy/src/zig/src/Package/Fetch.zig:526:16: 0x1af6a99 in run (main.zig)
try eb.init(gpa);
^
/home/andy/src/zig/src/Package/Fetch.zig:1046:8: 0x22b6f09 in workerRun (main.zig)
run(f) catch |err| switch (err) {
^
/home/andy/src/zig/lib/std/Io.zig:1261:17: 0x22b6d10 in start (std.zig)
_ = @as(Cancelable!void, @call(.auto, function, args_casted.*)) catch {};
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:552:22: 0x18c6b15 in start (std.zig)
task.func(task.contextPointer());
^
/home/andy/src/zig/lib/std/Io/Threaded.zig:1797:29: 0x18c4d14 in worker (std.zig)
runnable.startFn(runnable, &thread, t);
^
/home/andy/src/zig/lib/std/Thread.zig:422:13: 0x18c49f5 in callFn__anon_27897 (std.zig)
@call(.auto, f, args);
^
/home/andy/src/zig/lib/std/Thread.zig:1431:30: 0x18c47b0 in entryFn (std.zig)
return callFn(f, self.fn_args);
^
/home/andy/src/zig/lib/std/os/linux/x86_64.zig:134:5: 0x18c4915 in clone (std.zig)
asm volatile (
^
<snip>
Expected Behavior
No output, exit code 0.