Coder Social home page Coder Social logo

Comments (18)

DarkGodOne avatar DarkGodOne commented on September 16, 2024 2

看了你们的说明,目前驱动线程不安全,go run的机制又恰好会触发线程安全,所以导致程序崩溃,暂时解决办法是自己建立一个连接池,按照线程id进行存储,并且加锁,同一个线程访问的时候需要先加锁再访问指定的连接,即可解决该问题,如果使用defer释放锁的时候,需要注意defer调用时的当前线程可能与调用线程不在同一个线程里,所以defer时需要按照连接反查对应的锁然后释放,否则会触发解锁未上锁的mutex的错误。

from driver-go.

huskar-t avatar huskar-t commented on September 16, 2024

@DarkGodOne 能提供简单的复现用例吗,或者将完整的go panic 信息贴出来

from driver-go.

DarkGodOne avatar DarkGodOne commented on September 16, 2024

@DarkGodOne 能提供简单的复现用例吗,或者将完整的go panic 信息贴出来

复现用例,我这还不是每次都能复现,程序运行一会就会出现,就出现在rows.Next(),日志信息上面已经贴了,我看是崩溃在你们内部代码了,测试程序部分代码如下:
rows, err := dbhandle.Query(sqlStr+whereStr+groupStr, valueList...)
if err != nil {
logger.Error("SelectBalancevalveInterval Query Error: ", err)
return nil, err
}
dataList := []BalancevalveData{}
for rows.Next() {
var ts time.Time
var pressuresuply float64
var pressureback float64
var tempsuply float64
var tempback float64
var tempbc float64
var temphome float64
var deviceId string
err = rows.Scan(&ts, &pressuresuply, &pressureback, &tempsuply, &tempback, &tempbc, &temphome, &deviceId)
if err != nil {
logger.Error("SelectBalancevalveInterval Scan Error: ", err)
continue
}
data := BalancevalveData{}
data.Ts = ts.UnixNano() / 1000000
data.Pressuresuply = pressuresuply
data.Pressureback = pressureback
data.Tempsuply = tempsuply
data.Tempback = tempback
data.Tempbc = tempbc
data.Temphome = temphome
data.DeviceId = deviceId
dataList = append(dataList, data)
}

from driver-go.

huskar-t avatar huskar-t commented on September 16, 2024

@DarkGodOne

if err != nil {
logger.Error("SelectBalancevalveInterval Scan Error: ", err)
continue
}

出错之后不应continue。
只有 goroutine 信息,没有崩溃的具体信息,如果产生 panic 尽量将 panic 原因贴出

from driver-go.

DarkGodOne avatar DarkGodOne commented on September 16, 2024

Exception 0xc0000005 0x1 0x1dce8490000 0x7ff882c6dfab
PC=0x7ff882c6dfab

runtime: unknown pc 0x7ff882c6dfab
stack: frame={sp:0xd43e7ff330, fp:0x0} stack=[0x0,0xd43e7ffa00)
000000d43e7ff230: 00001602c566e8f3 00007ff8c622b3f4
000000d43e7ff240: 0000000000000000 0000000000000000
000000d43e7ff250: 000000d43e7ff2c0 00007ff882e2931e
000000d43e7ff260: 000a0017000b07e5 000202990030002e
000000d43e7ff270: 0000000040000068 0000000000000000
000000d43e7ff280: 0000000000000050 0000000000000040
000000d43e7ff290: 0000000000000001 000001dcdf4d0000
000000d43e7ff2a0: cccccccccccccccc cccccccccccccccc
000000d43e7ff2b0: cccccccccccccccc cccccccccccccccc
000000d43e7ff2c0: cccccccccccccccc cccccccccccccccc
000000d43e7ff2d0: cccccccccccccccc cccccccccccccccc
000000d43e7ff2e0: cccccccccccccccc cccccccccccccccc
000000d43e7ff2f0: cccccccccccccccc cccccccccccccccc
000000d43e7ff300: cccccccccccccccc cccccccc00000001
000000d43e7ff310: 00000006cccccccc cccccccccccccccc
000000d43e7ff320: 000000d43e7ff350 00007ff882c6d980
000000d43e7ff330: <cccccccc00000007 cccccccccccccccc
000000d43e7ff340: cccccccccccccccc 000000d43e7ff390
000000d43e7ff350: 000000c000106900 00007ff882bdcadc
000000d43e7ff360: 000001dce8448d32 000001dce8406cc0
000000d43e7ff370: cccccccc00000042 cccccccc00000008
000000d43e7ff380: 000001dce8406cc0 cccccccccccccccc
000000d43e7ff390: 000000d43e7ff3e0 00007ff882af8dfe
000000d43e7ff3a0: 000001dce8748a68 cccccccccccccccc
000000d43e7ff3b0: cccccccccccccccc cccccccccccccccc
000000d43e7ff3c0: 0000000700000008 cccccccc00000014
000000d43e7ff3d0: cccccccccccccccc 0000000000000500
000000d43e7ff3e0: 000000d43e7ff460 00007ff882af92a7
000000d43e7ff3f0: 000001dce8748050 000001dce87482c0
000000d43e7ff400: cccccccc00000008 000001dc00000000
000000d43e7ff410: 000001dce83ada40 cccccccccccccccc
000000d43e7ff420: 000001dce8748050 000001dce87482c0
runtime: unknown pc 0x7ff882c6dfab
stack: frame={sp:0xd43e7ff330, fp:0x0} stack=[0x0,0xd43e7ffa00)
000000d43e7ff230: 00001602c566e8f3 00007ff8c622b3f4
000000d43e7ff240: 0000000000000000 0000000000000000
000000d43e7ff250: 000000d43e7ff2c0 00007ff882e2931e
000000d43e7ff260: 000a0017000b07e5 000202990030002e
000000d43e7ff270: 0000000040000068 0000000000000000
000000d43e7ff280: 0000000000000050 0000000000000040
000000d43e7ff290: 0000000000000001 000001dcdf4d0000
000000d43e7ff2a0: cccccccccccccccc cccccccccccccccc
000000d43e7ff2b0: cccccccccccccccc cccccccccccccccc
000000d43e7ff2c0: cccccccccccccccc cccccccccccccccc
000000d43e7ff2d0: cccccccccccccccc cccccccccccccccc
000000d43e7ff2e0: cccccccccccccccc cccccccccccccccc
000000d43e7ff2f0: cccccccccccccccc cccccccccccccccc
000000d43e7ff300: cccccccccccccccc cccccccc00000001
000000d43e7ff310: 00000006cccccccc cccccccccccccccc
000000d43e7ff320: 000000d43e7ff350 00007ff882c6d980
000000d43e7ff330: <cccccccc00000007 cccccccccccccccc
000000d43e7ff340: cccccccccccccccc 000000d43e7ff390
000000d43e7ff350: 000000c000106900 00007ff882bdcadc
000000d43e7ff360: 000001dce8448d32 000001dce8406cc0
000000d43e7ff370: cccccccc00000042 cccccccc00000008
000000d43e7ff380: 000001dce8406cc0 cccccccccccccccc
000000d43e7ff390: 000000d43e7ff3e0 00007ff882af8dfe
000000d43e7ff3a0: 000001dce8748a68 cccccccccccccccc
000000d43e7ff3b0: cccccccccccccccc cccccccccccccccc
000000d43e7ff3c0: 0000000700000008 cccccccc00000014
000000d43e7ff3d0: cccccccccccccccc 0000000000000500
000000d43e7ff3e0: 000000d43e7ff460 00007ff882af92a7
000000d43e7ff3f0: 000001dce8748050 000001dce87482c0
000000d43e7ff400: cccccccc00000008 000001dc00000000
000000d43e7ff410: 000001dce83ada40 cccccccccccccccc
000000d43e7ff420: 000001dce8748050 000001dce87482c0

goroutine 42 [syscall]:
github.com/taosdata/driver-go/v2/wrapper._Cfunc_taos_fetch_block(0x1dce7fc8fb0, 0xc000f78068, 0x0)
_cgo_gotypes.go:257 +0x4f
github.com/taosdata/driver-go/v2/wrapper.TaosFetchBlock.func1(0x1dce7fc8fb0, 0xc000f78068, 0xc000000000)
D:/works/gospace/pkg/mod/github.com/taosdata/driver-go/[email protected]/wrapper/taosc.go:92 +0xaa
github.com/taosdata/driver-go/v2/wrapper.TaosFetchBlock(0x1dce7fc8fb0, 0x0, 0x0)
D:/works/gospace/pkg/mod/github.com/taosdata/driver-go/[email protected]/wrapper/taosc.go:92 +0x85
github.com/taosdata/driver-go/v2/taosSql.(*rows).taosFetchBlock(0xc0011e8c90)
D:/works/gospace/pkg/mod/github.com/taosdata/driver-go/[email protected]/taosSql/rows.go:75 +0x4a
github.com/taosdata/driver-go/v2/taosSql.(*rows).Next(0xc0011e8c90, 0xc001669100, 0x8, 0x8, 0x0, 0x0)
D:/works/gospace/pkg/mod/github.com/taosdata/driver-go/[email protected]/taosSql/rows.go:53 +0x356
database/sql.(*Rows).nextLocked(0xc001669080, 0x100000000)
C:/Program Files/Go/src/database/sql/sql.go:2865 +0x182
database/sql.(*Rows).Next.func1()
C:/Program Files/Go/src/database/sql/sql.go:2843 +0x4d
database/sql.withLock(0x1a48af0, 0xc0016690b0, 0xc000de62d8)
C:/Program Files/Go/src/database/sql/sql.go:3294 +0x7e
database/sql.(*Rows).Next(0xc001669080, 0xc00018e300)
C:/Program Files/Go/src/database/sql/sql.go:2842 +0xd2
iotStation/database.SelectBalancevalveInterval(0xc0001b3500, 0x138b, 0x0, 0x0, 0x0, 0xc0012c6708, 0x13, 0x0, 0x0, 0xc000f8e04b, ...)
D:/works/zoolon_iot/热力项目/iotstation/database/balancevalve.go:205 +0xbf5
iotStation/northapi.(*HTTPServer).getGridData(0xc0001846c0, 0x1a544b8, 0xc0006fe1e0, 0x0, 0x0)
D:/works/zoolon_iot/热力项目/iotstation/northapi/dashboard.go:265 +0xfbd
github.com/labstack/echo/v4/middleware.KeyAuthWithConfig.func1.1(0x1a544b8, 0xc0006fe1e0, 0x0, 0x0)
D:/works/gospace/pkg/mod/github.com/labstack/echo/[email protected]/middleware/key_auth.go:125 +0x57c
github.com/labstack/echo/v4.(*Echo).add.func1(0x1a544b8, 0xc0006fe1e0, 0x0, 0x0)
D:/works/gospace/pkg/mod/github.com/labstack/echo/[email protected]/echo.go:552 +0xaa
github.com/labstack/echo/v4/middleware.CORSWithConfig.func1.1(0x1a544b8, 0xc0006fe1e0, 0x0, 0x0)
D:/works/gospace/pkg/mod/github.com/labstack/echo/[email protected]/middleware/cors.go:118 +0x447
github.com/labstack/echo/v4/middleware.RecoverWithConfig.func1.1(0x1a544b8, 0xc0006fe1e0, 0x0, 0x0)
D:/works/gospace/pkg/mod/github.com/labstack/echo/[email protected]/middleware/recover.go:98 +0x1a3
github.com/labstack/echo/v4.(*Echo).ServeHTTP(0xc00017bb00, 0x1a4cd30, 0xc0000661c0, 0xc00005c000)
D:/works/gospace/pkg/mod/github.com/labstack/echo/[email protected]/echo.go:662 +0x1e2
net/http.serverHandler.ServeHTTP(0xc000066540, 0x1a4cd30, 0xc0000661c0, 0xc00005c000)
C:/Program Files/Go/src/net/http/server.go:2887 +0x22b
net/http.(*conn).serve(0xc00006c1e0, 0x1a4d7f8, 0xc0006e4100)
C:/Program Files/Go/src/net/http/server.go:1952 +0x1c25
created by net/http.(*Server).Serve
C:/Program Files/Go/src/net/http/server.go:3013 +0x974

goroutine 1 [semacquire]:
sync.runtime_Semacquire(0xc000019758)
C:/Program Files/Go/src/runtime/sema.go:56 +0x49
sync.(*WaitGroup).Wait(0xc000019750)
C:/Program Files/Go/src/sync/waitgroup.go:130 +0xd7
main.main()
D:/works/zoolon_iot/热力项目/iotstation/main.go:52 +0x4fe

goroutine 24 [running]:
goroutine running on other thread; stack unavailable
created by net/http.(*Server).Serve
C:/Program Files/Go/src/net/http/server.go:3013 +0x974

goroutine 5 [syscall]:
os/signal.signal_recv(0x0)
C:/Program Files/Go/src/runtime/sigqueue.go:168 +0xaf
os/signal.loop()
C:/Program Files/Go/src/os/signal/signal_unix.go:23 +0x2d
created by os/signal.Notify.func1.1
C:/Program Files/Go/src/os/signal/signal.go:151 +0x48

goroutine 6 [chan receive]:
main.handleCtrlC(0xc000092cc0, 0xc000019750)
D:/works/zoolon_iot/热力项目/iotstation/main.go:18 +0xae
created by main.main
D:/works/zoolon_iot/热力项目/iotstation/main.go:37 +0x1dc

goroutine 7 [select]:
iotStation/southapi.(*CeebicIot).workThread(0x1cbdd40, 0x0)
D:/works/zoolon_iot/热力项目/iotstation/southapi/ceebic.go:288 +0x305
created by iotStation/southapi.(*CeebicIot).StartUp
D:/works/zoolon_iot/热力项目/iotstation/southapi/ceebic.go:452 +0xab4

goroutine 8 [IO wait]:
internal/poll.runtime_pollWait(0x1dce63bfd70, 0x72, 0xc0001fe048)
C:/Program Files/Go/src/runtime/netpoll.go:222 +0x65
internal/poll.(*pollDesc).wait(0xc0001fe1b8, 0x72, 0xf65500, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_poll_runtime.go:87 +0xa5
internal/poll.execIO(0xc0001fe018, 0xc0000d34e0, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_windows.go:175 +0x2ad
internal/poll.(*FD).acceptOne(0xc0001fe000, 0x284, 0xc000d06000, 0x2, 0x2, 0xc0001fe018, 0x0, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_windows.go:810 +0xed
internal/poll.(*FD).Accept(0xc0001fe000, 0xc0000d38d8, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, ...)
C:/Program Files/Go/src/internal/poll/fd_windows.go:844 +0x3ca
net.(*netFD).accept(0xc0001fe000, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/fd_windows.go:139 +0xeb
net.(*TCPListener).accept(0xc0001ec018, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/tcpsock_posix.go:139 +0x68
net.(*TCPListener).AcceptTCP(0xc0001ec018, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/tcpsock.go:248 +0x85
github.com/labstack/echo/v4.tcpKeepAliveListener.Accept(0xc0001ec018, 0x0, 0x0, 0x0, 0x0)
D:/works/gospace/pkg/mod/github.com/labstack/echo/[email protected]/echo.go:971 +0x59
net/http.(*Server).Serve(0xc0000662a0, 0x1a4c5e0, 0xc000d02000, 0x0, 0x0)
C:/Program Files/Go/src/net/http/server.go:2981 +0x43a
github.com/labstack/echo/v4.(*Echo).Start(0xc00017b8c0, 0xc00012e5a5, 0xd, 0x0, 0x0)
D:/works/gospace/pkg/mod/github.com/labstack/echo/[email protected]/echo.go:679 +0x187
iotStation/southapi.(*CeebicIot).StartUp.func1(0x1cbdd40, 0xc00012e5a5, 0xd)
D:/works/zoolon_iot/热力项目/iotstation/southapi/ceebic.go:459 +0x1aa
created by iotStation/southapi.(*CeebicIot).StartUp
D:/works/zoolon_iot/热力项目/iotstation/southapi/ceebic.go:456 +0xb29

goroutine 9 [IO wait]:
internal/poll.runtime_pollWait(0x1dce63bfe58, 0x72, 0xc000c822c8)
C:/Program Files/Go/src/runtime/netpoll.go:222 +0x65
internal/poll.(*pollDesc).wait(0xc000c82438, 0x72, 0xf65500, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_poll_runtime.go:87 +0xa5
internal/poll.execIO(0xc000c82298, 0xc0000cf4d0, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_windows.go:175 +0x2ad
internal/poll.(*FD).acceptOne(0xc000c82280, 0x2fc, 0xc000c501e0, 0x2, 0x2, 0xc000c82298, 0x0, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_windows.go:810 +0xed
internal/poll.(*FD).Accept(0xc000c82280, 0xc0000cf8c8, 0x0, 0x0, 0x0, 0x0, 0x100000000000000, 0x0, 0x0, 0x0, ...)
C:/Program Files/Go/src/internal/poll/fd_windows.go:844 +0x3ca
net.(*netFD).accept(0xc000c82280, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/fd_windows.go:139 +0xeb
net.(*TCPListener).accept(0xc0000046f0, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/tcpsock_posix.go:139 +0x68
net.(*TCPListener).AcceptTCP(0xc0000046f0, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/tcpsock.go:248 +0x85
github.com/labstack/echo/v4.tcpKeepAliveListener.Accept(0xc0000046f0, 0x0, 0x0, 0x0, 0x0)
D:/works/gospace/pkg/mod/github.com/labstack/echo/[email protected]/echo.go:971 +0x59
net/http.(*Server).Serve(0xc000066540, 0x1a4c5e0, 0xc000006a00, 0x0, 0x0)
C:/Program Files/Go/src/net/http/server.go:2981 +0x43a
github.com/labstack/echo/v4.(*Echo).Start(0xc00017bb00, 0xc00012e547, 0xd, 0x0, 0x0)
D:/works/gospace/pkg/mod/github.com/labstack/echo/[email protected]/echo.go:679 +0x187
iotStation/northapi.(*HTTPServer).webThread(0xc0001846c0)
D:/works/zoolon_iot/热力项目/iotstation/northapi/httpServer.go:107 +0x1d2
created by iotStation/northapi.(*HTTPServer).Httpinit
D:/works/zoolon_iot/热力项目/iotstation/northapi/httpServer.go:100 +0x12cf

goroutine 10 [chan receive]:
github.com/natefinch/lumberjack.(*Logger).millRun(0xc0001a0420)
D:/works/gospace/pkg/mod/github.com/natefinch/[email protected]+incompatible/lumberjack.go:379 +0x4e
created by github.com/natefinch/lumberjack.(*Logger).mill.func1
D:/works/gospace/pkg/mod/github.com/natefinch/[email protected]+incompatible/lumberjack.go:390 +0x92

goroutine 66 [IO wait]:
internal/poll.runtime_pollWait(0x1dce63bfab8, 0x72, 0xc000c44518)
C:/Program Files/Go/src/runtime/netpoll.go:222 +0x65
internal/poll.(*pollDesc).wait(0xc000c446b8, 0x72, 0xf65500, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_poll_runtime.go:87 +0xa5
internal/poll.execIO(0xc000c44518, 0x1a0d0e8, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_windows.go:175 +0x2ad
internal/poll.(*FD).Read(0xc000c44500, 0xc000c4c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_windows.go:441 +0x56d
net.(*netFD).Read(0xc000c44500, 0xc000c4c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/fd_posix.go:55 +0x85
net.(*conn).Read(0xc000158050, 0xc000c4c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/net.go:183 +0xbc
net/http.(*connReader).Read(0xc000108360, 0xc000c4c000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/http/server.go:800 +0x2a9
bufio.(*Reader).fill(0xc0001a0540)
C:/Program Files/Go/src/bufio/bufio.go:101 +0x2d9
bufio.(*Reader).ReadSlice(0xc0001a0540, 0x1dce5f8aa0a, 0x0, 0x0, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/bufio/bufio.go:360 +0x3b0
bufio.(*Reader).ReadLine(0xc0001a0540, 0x0, 0x0, 0x0, 0xc000d84100, 0x0, 0x0)
C:/Program Files/Go/src/bufio/bufio.go:389 +0x8f
net/textproto.(*Reader).readLineSlice(0xc0006e2150, 0x0, 0x0, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/textproto/reader.go:57 +0xbe
net/textproto.(*Reader).ReadLine(0xc0006e2150, 0x0, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/textproto/reader.go:38 +0x76
net/http.readRequest(0xc0001a0540, 0x101000, 0xc000154500, 0x0, 0x0)
C:/Program Files/Go/src/net/http/request.go:1027 +0xc5
net/http.(*conn).readRequest(0xc000c4e000, 0x1a4d7f8, 0xc000130200, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/http/server.go:986 +0x50d
net/http.(*conn).serve(0xc000c4e000, 0x1a4d7f8, 0xc000130200)
C:/Program Files/Go/src/net/http/server.go:1878 +0xde8
created by net/http.(*Server).Serve
C:/Program Files/Go/src/net/http/server.go:3013 +0x974

goroutine 50 [IO wait]:
internal/poll.runtime_pollWait(0x1dce63bfba0, 0x72, 0xc0006f8018)
C:/Program Files/Go/src/runtime/netpoll.go:222 +0x65
internal/poll.(*pollDesc).wait(0xc0006f81b8, 0x72, 0xf65500, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_poll_runtime.go:87 +0xa5
internal/poll.execIO(0xc0006f8018, 0x1a0d0e8, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_windows.go:175 +0x2ad
internal/poll.(*FD).Read(0xc0006f8000, 0xc000d0a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/internal/poll/fd_windows.go:441 +0x56d
net.(*netFD).Read(0xc0006f8000, 0xc000d0a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/fd_posix.go:55 +0x85
net.(*conn).Read(0xc0006fc000, 0xc000d0a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/net.go:183 +0xbc
net/http.(*connReader).Read(0xc0001fa2a0, 0xc000d0a000, 0x1000, 0x1000, 0x0, 0x0, 0x0)
C:/Program Files/Go/src/net/http/server.go:800 +0x2a9
bufio.(*Reader).fill(0xc000d082a0)
C:/Program Files/Go/src/bufio/bufio.go

from driver-go.

huskar-t avatar huskar-t commented on September 16, 2024

@DarkGodOne 非常感谢提供错误信息,能将这个错误日志的往前几行也贴出吗

from driver-go.

DarkGodOne avatar DarkGodOne commented on September 16, 2024

@DarkGodOne 非常感谢提供错误信息,能将这个错误日志的往前几行也贴出吗

前面没有了,前面就是我自己的日志了

from driver-go.

huskar-t avatar huskar-t commented on September 16, 2024

@DarkGodOne
可以尝试使用 develop 分支试一下
修改go.mod 里的require
github.com/taosdata/driver-go/v2 v2.0.1-0.20211116040418-1b9d80235aa7
之后执行 go mod tidy
如果仍然出现麻烦也像上面一样贴出错误信息

from driver-go.

DarkGodOne avatar DarkGodOne commented on September 16, 2024

from driver-go.

huskar-t avatar huskar-t commented on September 16, 2024

@DarkGodOne develop 跟 TDengine 的 develop 分支功能。请安装 2.3.2.0 版本

from driver-go.

DarkGodOne avatar DarkGodOne commented on September 16, 2024

from driver-go.

huskar-t avatar huskar-t commented on September 16, 2024

@DarkGodOne 使用这个提交试下
github.com/taosdata/driver-go/v2 v2.0.1-0.20211105065234-b33e164d5682

from driver-go.

DarkGodOne avatar DarkGodOne commented on September 16, 2024

from driver-go.

DarkGodOne avatar DarkGodOne commented on September 16, 2024

看日志里面:
goroutine 11 [syscall]:
goroutine 21 [syscall]:
这两个协程里面,一个在调用Next,一个在调用query,这个会出现冲突么?
我用的是同一个sql.DB

from driver-go.

huskar-t avatar huskar-t commented on September 16, 2024

看日志里面: goroutine 11 [syscall]: goroutine 21 [syscall]: 这两个协程里面,一个在调用Next,一个在调用query,这个会出现冲突么? 我用的是同一个sql.DB

@DarkGodOne 我们已复现该问题,正在定位

from driver-go.

huskar-t avatar huskar-t commented on September 16, 2024

@DarkGodOne 该问题已修复将在下次 TDengine 发版时发布,无需更新 driver-go。在 linux 环境下不受影响,可先在 linux 环境进行开发

from driver-go.

DarkGodOne avatar DarkGodOne commented on September 16, 2024

from driver-go.

huskar-t avatar huskar-t commented on September 16, 2024

2.3.4.0 fixed

from driver-go.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.