driver-go icon indicating copy to clipboard operation
driver-go copied to clipboard

go test -race 报错

Open huangzheng86 opened this issue 1 year ago • 1 comments

自己项目有-race检查,在升级driver-go版本至v3.5.0后有race检查错误(driver-go版本v3.0.3没有错误)。于是直接对diver-go包运行go test -race报错如下: $ go test -race ./... ? github.com/taosdata/driver-go/v3/af/insertstmt [no test files] ? github.com/taosdata/driver-go/v3/bench/driver [no test files] ? github.com/taosdata/driver-go/v3/bench/query [no test files] ? github.com/taosdata/driver-go/v3/bench/standard/executor [no test files] ? github.com/taosdata/driver-go/v3/bench/standard/native/exec [no test files] ? github.com/taosdata/driver-go/v3/bench/standard/native/query [no test files] ? github.com/taosdata/driver-go/v3/bench/standard/restful/exec [no test files] ? github.com/taosdata/driver-go/v3/bench/standard/restful/query [no test files] ? github.com/taosdata/driver-go/v3/bench/stmt/insert [no test files] ? github.com/taosdata/driver-go/v3/bench/stmt/query [no test files] fatal error: checkptr: pointer arithmetic result points to invalid allocation goroutine 1 [running, locked to thread]: runtime.throw({0x7a305d?, 0x471c39?}) D:/Go/src/runtime/panic.go:1047 +0x65 fp=0xc000091948 sp=0xc000091918 pc=0x43b745 runtime.checkptrArithmetic(0xc0000b8150?, {0x0, 0x0, 0xc0000919d0?}) D:/Go/src/runtime/checkptr.go:69 +0xaa fp=0xc000091978 sp=0xc000091948 pc=0x408aca github.com/taosdata/driver-go/v3/common.murmurHash32({0xc0000b8150, 0x24, 0x30}, 0x24) E:/Go/src/driver-go/common/reqid.go:42 +0x8b fp=0xc0000919e0 sp=0xc000091978 pc=0x66384b github.com/taosdata/driver-go/v3/common.init.0() E:/Go/src/driver-go/common/reqid.go:19 +0xc6 fp=0xc000091ac0 sp=0xc0000919e0 pc=0x6635a6 runtime.doInit(0x6f22a0) D:/Go/src/runtime/proc.go:6506 +0x12b fp=0xc000091bf0 sp=0xc000091ac0 pc=0x44b64b runtime.doInit(0x6eec60) D:/Go/src/runtime/proc.go:6483 +0x71 fp=0xc000091d20 sp=0xc000091bf0 pc=0x44b591 runtime.doInit(0x6f2bc0) D:/Go/src/runtime/proc.go:6483 +0x71 fp=0xc000091e50 sp=0xc000091d20 pc=0x44b591 runtime.doInit(0x6efec0) D:/Go/src/runtime/proc.go:6483 +0x71 fp=0xc000091f80 sp=0xc000091e50 pc=0x44b591 runtime.main() D:/Go/src/runtime/proc.go:233 +0x1b8 fp=0xc000091fe0 sp=0xc000091f80 pc=0x43de78 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000091fe8 sp=0xc000091fe0 pc=0x4704c1 goroutine 2 [force gc (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc00004ffb0 sp=0xc00004ff90 pc=0x43e2d6 runtime.goparkunlock(...) D:/Go/src/runtime/proc.go:387 runtime.forcegchelper() D:/Go/src/runtime/proc.go:305 +0xb2 fp=0xc00004ffe0 sp=0xc00004ffb0 pc=0x43e0f2 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00004ffe8 sp=0xc00004ffe0 pc=0x4704c1 created by runtime.init.6 D:/Go/src/runtime/proc.go:293 +0x25 goroutine 3 [GC sweep wait]: runtime.gopark(0x1?, 0x0?, 0x0?, 0x0?, 0x0?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc000051f80 sp=0xc000051f60 pc=0x43e2d6 runtime.goparkunlock(...) D:/Go/src/runtime/proc.go:387 runtime.bgsweep(0x0?) D:/Go/src/runtime/mgcsweep.go:319 +0xde fp=0xc000051fc8 sp=0xc000051f80 pc=0x42625e runtime.gcenable.func1() D:/Go/src/runtime/mgc.go:178 +0x26 fp=0xc000051fe0 sp=0xc000051fc8 pc=0x41b486 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000051fe8 sp=0xc000051fe0 pc=0x4704c1 created by runtime.gcenable D:/Go/src/runtime/mgc.go:178 +0x6b goroutine 4 [GC scavenge wait]: runtime.gopark(0xc000024070?, 0x827358?, 0x0?, 0x0?, 0x0?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc000061f70 sp=0xc000061f50 pc=0x43e2d6 runtime.goparkunlock(...) D:/Go/src/runtime/proc.go:387 runtime.(*scavengerState).park(0x959a20) D:/Go/src/runtime/mgcscavenge.go:400 +0x53 fp=0xc000061fa0 sp=0xc000061f70 pc=0x424173 runtime.bgscavenge(0x0?) D:/Go/src/runtime/mgcscavenge.go:633 +0x65 fp=0xc000061fc8 sp=0xc000061fa0 pc=0x424745 runtime.gcenable.func2() D:/Go/src/runtime/mgc.go:179 +0x26 fp=0xc000061fe0 sp=0xc000061fc8 pc=0x41b426 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000061fe8 sp=0xc000061fe0 pc=0x4704c1 created by runtime.gcenable D:/Go/src/runtime/mgc.go:179 +0xaa goroutine 18 [finalizer wait]: runtime.gopark(0x95a180?, 0xc0000841a0?, 0x0?, 0x0?, 0xc000053f70?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc000053e28 sp=0xc000053e08 pc=0x43e2d6 runtime.runfinq() D:/Go/src/runtime/mfinal.go:193 +0x147 fp=0xc000053fe0 sp=0xc000053e28 pc=0x41a4e7 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000053fe8 sp=0xc000053fe0 pc=0x4704c1 created by runtime.createfing D:/Go/src/runtime/mfinal.go:163 +0x45 goroutine 19 [GC worker (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc00005df50 sp=0xc00005df30 pc=0x43e2d6 runtime.gcBgMarkWorker() D:/Go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00005dfe0 sp=0xc00005df50 pc=0x41d231 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00005dfe8 sp=0xc00005dfe0 pc=0x4704c1 created by runtime.gcBgMarkStartWorkers D:/Go/src/runtime/mgc.go:1199 +0x25 goroutine 20 [GC worker (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc00005ff50 sp=0xc00005ff30 pc=0x43e2d6 runtime.gcBgMarkWorker() D:/Go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00005ffe0 sp=0xc00005ff50 pc=0x41d231 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00005ffe8 sp=0xc00005ffe0 pc=0x4704c1 created by runtime.gcBgMarkStartWorkers D:/Go/src/runtime/mgc.go:1199 +0x25 goroutine 5 [GC worker (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc000063f50 sp=0xc000063f30 pc=0x43e2d6 runtime.gcBgMarkWorker() D:/Go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000063fe0 sp=0xc000063f50 pc=0x41d231 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000063fe8 sp=0xc000063fe0 pc=0x4704c1 created by runtime.gcBgMarkStartWorkers D:/Go/src/runtime/mgc.go:1199 +0x25 goroutine 6 [GC worker (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc00006df50 sp=0xc00006df30 pc=0x43e2d6 runtime.gcBgMarkWorker() D:/Go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00006dfe0 sp=0xc00006df50 pc=0x41d231 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00006dfe8 sp=0xc00006dfe0 pc=0x4704c1 created by runtime.gcBgMarkStartWorkers D:/Go/src/runtime/mgc.go:1199 +0x25 goroutine 7 [GC worker (idle)]: runtime.gopark(0x0?, 0x0?, 0x0?, 0x0?, 0x0?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc00006ff50 sp=0xc00006ff30 pc=0x43e2d6 runtime.gcBgMarkWorker() D:/Go/src/runtime/mgc.go:1275 +0xf1 fp=0xc00006ffe0 sp=0xc00006ff50 pc=0x41d231 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc00006ffe8 sp=0xc00006ffe0 pc=0x4704c1 created by runtime.gcBgMarkStartWorkers D:/Go/src/runtime/mgc.go:1199 +0x25 goroutine 21 [GC worker (idle)]: runtime.gopark(0x4517a14073288?, 0x0?, 0x0?, 0x0?, 0x0?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc000069f50 sp=0xc000069f30 pc=0x43e2d6 runtime.gcBgMarkWorker() D:/Go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000069fe0 sp=0xc000069f50 pc=0x41d231 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000069fe8 sp=0xc000069fe0 pc=0x4704c1 created by runtime.gcBgMarkStartWorkers D:/Go/src/runtime/mgc.go:1199 +0x25 goroutine 8 [GC worker (idle)]: runtime.gopark(0x4517a1414e52c?, 0x0?, 0x0?, 0x0?, 0x0?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc000075f50 sp=0xc000075f30 pc=0x43e2d6 runtime.gcBgMarkWorker() D:/Go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000075fe0 sp=0xc000075f50 pc=0x41d231 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000075fe8 sp=0xc000075fe0 pc=0x4704c1 created by runtime.gcBgMarkStartWorkers D:/Go/src/runtime/mgc.go:1199 +0x25 goroutine 9 [GC worker (idle)]: runtime.gopark(0x4517a14073288?, 0x0?, 0x0?, 0x0?, 0x0?) D:/Go/src/runtime/proc.go:381 +0xd6 fp=0xc000077f50 sp=0xc000077f30 pc=0x43e2d6 runtime.gcBgMarkWorker() D:/Go/src/runtime/mgc.go:1275 +0xf1 fp=0xc000077fe0 sp=0xc000077f50 pc=0x41d231 runtime.goexit() D:/Go/src/runtime/asm_amd64.s:1598 +0x1 fp=0xc000077fe8 sp=0xc000077fe0 pc=0x4704c1 created by runtime.gcBgMarkStartWorkers D:/Go/src/runtime/mgc.go:1199 +0x25 FAIL github.com/taosdata/driver-go/v3/af 0.768s ok github.com/taosdata/driver-go/v3/af/async (cached) ok github.com/taosdata/driver-go/v3/af/locker (cached) ? github.com/taosdata/driver-go/v3/bench/test/tmq [no test files] ? github.com/taosdata/driver-go/v3/bench/valgrind [no test files] ? github.com/taosdata/driver-go/v3/benchmark [no test files] ? github.com/taosdata/driver-go/v3/bench/tmq [no test files] fatal error: checkptr: pointer arithmetic result points to invalid allocation

......

huangzheng86 avatar Aug 15 '23 02:08 huangzheng86

Some pointer operations are used for performance. Since -race includes pointer safety checks, the error of pointer arithmetic result points to invalid allocation can be ignored

huskar-t avatar Aug 18 '23 01:08 huskar-t