Open InKryption opened 3 months ago
Specifically manifests when on mainnet, does not manifest on testnet nor devnet.
❯ zig build run -- gossip -e 34.83.231.102:8001 -e 145.40.67.83:8001 error(gpa): Double free detected. Allocation: /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:192:56: 0x100d61e2b in read__anon_30232 (sig) const entries = try allocator.alloc(info.child, try bincode.read(allocator, usize, reader, params)); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:145:64: 0x100d62503 in read__anon_30231 (sig) @field(data, field.name) = try bincode.read(allocator, field.type, reader, params); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:145:64: 0x100d62797 in read__anon_30230 (sig) @field(data, field.name) = try bincode.read(allocator, field.type, reader, params); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:80:53: 0x100d6e52f in read__anon_30112 (sig) const payload = try bincode.read(allocator, field.type, reader, params); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:145:64: 0x100d6f1df in read__anon_30108 (sig) @field(data, field.name) = try bincode.read(allocator, field.type, reader, params); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:195:51: 0x100d6f70b in read__anon_30328 (sig) entry.* = try bincode.read(allocator, info.child, reader, params); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:145:64: 0x100d6fa7b in read__anon_30324 (sig) @field(data, field.name) = try bincode.read(allocator, field.type, reader, params); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:80:53: 0x100d710e7 in read__anon_30081 (sig) const payload = try bincode.read(allocator, field.type, reader, params); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:29:24: 0x100d717db in readFromSlice__anon_30080 (sig) return bincode.read(allocator, T, stream.reader(), params); ^ /Users/trevor/projects/zig/sig/src/gossip/service.zig:394:52: 0x100d7dc4f in callback (sig) var message = bincode.readFromSlice( ^ /Users/trevor/projects/zig/sig/src/utils/thread.zig:77:46: 0x100d4d6db in callback (sig) self.result = self.entry.callback(); ^ /Users/trevor/projects/zig/sig/src/sync/thread_pool.zig:672:36: 0x100e9451b in run (sig) (task.callback)(task); ^ /Users/trevor/ziglang/zig/zig-out/lib/zig/std/Thread.zig:408:13: 0x100e352ab in callFn__anon_33227 (sig) @call(.auto, f, args); ^ /Users/trevor/ziglang/zig/zig-out/lib/zig/std/Thread.zig:674:30: 0x100dc64af in entryFn (sig) return callFn(f, args_ptr.*); ^ ???:?:?: 0x181e6ef93 in ??? (libsystem_pthread.dylib) ???:?:?: 0x5d7d000181e69d33 in ??? (???) First free: /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:391:35: 0x100d49d7f in free__anon_30020 (sig) allocator.free(value); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:369:33: 0x100cef2a3 in free__anon_29232 (sig) bincode.free(allocator, @field(value, field.name)); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:369:33: 0x100c9065b in free__anon_28043 (sig) bincode.free(allocator, @field(value, field.name)); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:381:40: 0x100c2ce83 in free__anon_26725 (sig) return bincode.free(allocator, @field(value, field.name)); ^ /Users/trevor/projects/zig/sig/src/gossip/table.zig:699:21: 0x100e1d0c7 in remove (sig) bincode.free(self.allocator, versioned_value.value.data); ^ /Users/trevor/projects/zig/sig/src/gossip/table.zig:732:24: 0x100da35eb in attemptTrim (sig) self.remove(label) catch unreachable; ^ /Users/trevor/projects/zig/sig/src/gossip/service.zig:1730:41: 0x100db8763 in trimMemory (sig) try gossip_table.attemptTrim(UNIQUE_PUBKEY_CAPACITY); ^ /Users/trevor/projects/zig/sig/src/gossip/service.zig:839:32: 0x100db798b in buildMessages (sig) try self.trimMemory(getWallclockMs()); ^ /Users/trevor/ziglang/zig/zig-out/lib/zig/std/Thread.zig:429:13: 0x100cf2c53 in callFn__anon_29341 (sig) @call(.auto, f, args) catch |err| { ^ /Users/trevor/ziglang/zig/zig-out/lib/zig/std/Thread.zig:674:30: 0x100c947cb in entryFn (sig) return callFn(f, args_ptr.*); ^ ???:?:?: 0x181e6ef93 in ??? (libsystem_pthread.dylib) ???:?:?: 0x396a000181e69d33 in ??? (???) Second free: /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:391:35: 0x100d49d7f in free__anon_30020 (sig) allocator.free(value); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:369:33: 0x100cef2a3 in free__anon_29232 (sig) bincode.free(allocator, @field(value, field.name)); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:369:33: 0x100c9065b in free__anon_28043 (sig) bincode.free(allocator, @field(value, field.name)); ^ /Users/trevor/projects/zig/sig/src/bincode/bincode.zig:381:40: 0x100c2ce83 in free__anon_26725 (sig) return bincode.free(allocator, @field(value, field.name)); ^ /Users/trevor/projects/zig/sig/src/gossip/table.zig:699:21: 0x100e1d0c7 in remove (sig) bincode.free(self.allocator, versioned_value.value.data); ^ /Users/trevor/projects/zig/sig/src/gossip/table.zig:732:24: 0x100da35eb in attemptTrim (sig) self.remove(label) catch unreachable; ^ /Users/trevor/projects/zig/sig/src/gossip/service.zig:1730:41: 0x100db8763 in trimMemory (sig) try gossip_table.attemptTrim(UNIQUE_PUBKEY_CAPACITY); ^ /Users/trevor/projects/zig/sig/src/gossip/service.zig:839:32: 0x100db798b in buildMessages (sig) try self.trimMemory(getWallclockMs()); ^ /Users/trevor/ziglang/zig/zig-out/lib/zig/std/Thread.zig:429:13: 0x100cf2c53 in callFn__anon_29341 (sig) @call(.auto, f, args) catch |err| { ^ /Users/trevor/ziglang/zig/zig-out/lib/zig/std/Thread.zig:674:30: 0x100c947cb in entryFn (sig) return callFn(f, args_ptr.*); ^ ???:?:?: 0x181e6ef93 in ??? (libsystem_pthread.dylib) ???:?:?: 0x396a000181e69d33 in ??? (???)
the same double free is reported a multitude of times, indicating a large number of double frees through this codepath.
No response
I've confirmed this goes back to at least 5e78c2a1fa52fc3c803dbaa24298cb6eff8e1d0a.
Description
Specifically manifests when on mainnet, does not manifest on testnet nor devnet.
How to Reproduce the Bug
the same double free is reported a multitude of times, indicating a large number of double frees through this codepath.
Additional Context
No response