celzero / firestack

Userspace wireguard and network monitor
https://rethinkdns.com/app
Mozilla Public License 2.0
100 stars 16 forks source link

nil ptr (*cres.copy) in cacher.go:fetch #100

Closed ignoramous closed 1 month ago

ignoramous commented 1 month ago
05 October 2024, 07:28:08: F r.reply.do [11] runtime error: invalid memory address or nil pointer dereference
 (#1)
05 October 2024, 07:28:08: goroutine 80199 [running]:
github.com/celzero/firestack/intra/log.(*simpleLogger).Stack(0x4000230230, 0x0, {0x40005a47e0?, 0x53?}, {0x4000d0e000, 0x80000, 0x80000})
    /home/jitpack/build/intra/log/logger.go:398 +0x2c8
github.com/celzero/firestack/intra/log.C({0x40005a46c0, 0x51}, {0x4000d0e000, 0x80000, 0x80000})
    /home/jitpack/build/intra/log/log.go:137 +0xf8
github.com/celzero/firestack/intra/core.trace(0x4000230230?, {0x40005a46c0, 0x51})
    /home/jitpack/build/intra/core/dontpanic.go:101 +0x19c
github.com/celzero/firestack/intra/core.Recover(0xb, {0x7195fbf483, 0xa})
    /home/jitpack/build/intra/core/dontpanic.go:74 +0x13c
panic({0x7196759cc0?, 0x7196ccd650?})
    /home/jitpack/golang/go/src/runtime/panic.go:785 +0x124
github.com/celzero/firestack/intra/dnsx.(*cres).copy(0x0)
    /home/jitpack/build/intra/dnsx/cacher.go:130 +0x1c
github.com/celzero/firestack/intra/dnsx.(*ctransport).fetch.func1(0x40005d72c0)
    /home/jitpack/build/intra/dnsx/cacher.go:347 +0x354
github.com/celzero/firestack/intra/dnsx.(*ctransport).fetch(0x400020ca50, {0x4000011c28, 0x8}, 0x4000738c60, 0x40005d72c0, 0x4000c959f0, {0x40006e1420, 0x20})
    /home/jitpack/build/intra/dnsx/cacher.go:417 +0x69c
github.com/celzero/firestack/intra/dnsx.(*ctransport).Query(0x400020ca50, {0x4000011c28, 0x8}, 0x4000738c60, 0x40005d72c0)
    /home/jitpack/build/intra/dnsx/cacher.go:441 +0x1a4
github.com/celzero/firestack/intra/dnsx.Req({0x71968540a0, 0x400020ca50}, {0x4000011c28, 0x8}, 0x4000738c60, 0x40005d72c0)
    /home/jitpack/build/intra/dnsx/alg.go:1118 +0xd8
github.com/celzero/firestack/intra/dnsx.(*dnsgateway).q(0x4000278480, {0x71968540a0?, 0x400020ca50?}, {0x0, 0x0}, {0x40001301e8?, 0x0?, 0x1?}, {0x4000011c28, 0x8}, ...)
    /home/jitpack/build/intra/dnsx/alg.go:306 +0x2a0
github.com/celzero/firestack/intra/dnsx.(*resolver).forward(0x40001944e0, {0x40003e5000, 0x2f, 0x800}, {0x0, 0x0, 0x0})
    /home/jitpack/build/intra/dnsx/transport.go:501 +0xcd4
github.com/celzero/firestack/intra/dnsx.(*resolver).dnsudp(0x400021a420?, {0x40003e5000?, 0x40002315e0?, 0x40008c9c01?}, {0x722d6dca18, 0x4000a20300})
    /home/jitpack/build/intra/dnsx/transport.go:653 +0x38
github.com/celzero/firestack/intra/dnsx.(*resolver).reply.func2()
    /home/jitpack/build/intra/dnsx/transport.go:693 +0x74
github.com/celzero/firestack/intra/core.Gx.func1()
    /home/jitpack/build/intra/core/async.go:55 +0x5c
created by github.com/celzero/firestack/intra/core.Gx in goroutine 79893
    /home/jitpack/build/intra/core/async.go:52 +0x7c

v.Val is nil: https://github.com/celzero/firestack/blob/fad8fddc20d5c573a435d5276dd9c0f53f6d6e1b/intra/dnsx/cacher.go#L347

ignoramous commented 1 month ago

Commits: check #99