GORM Playground Link

https://github.com/go-gorm/playground/pull/618

Description

goroutine 1209713 [IO wait, 196 minutes]: internal/poll.runtime_pollWait(0xffffb9728908, 0x72) /usr/lib/go/src/runtime/netpoll.go:302 +0xa4 internal/poll.(pollDesc).wait(0x4002b9a080?, 0x4001a40000?, 0x0) /usr/lib/go/src/internal/poll/fd_poll_runtime.go:83 +0x2c internal/poll.(pollDesc).waitRead(...) /usr/lib/go/src/internal/poll/fd_poll_runtime.go:88 internal/poll.(FD).Read(0x4002b9a080, {0x4001a40000, 0x1000, 0x1000}) /usr/lib/go/src/internal/poll/fd_unix.go:167 +0x1ec net.(netFD).Read(0x4002b9a080, {0x4001a40000?, 0x4002b9a080?, 0x4001e51310?}) /usr/lib/go/src/net/fd_posix.go:55 +0x2c net.(conn).Read(0x40033f41a8, {0x4001a40000?, 0x4001e513c8?, 0x1a3ae84?}) /usr/lib/go/src/net/net.go:183 +0x38 github.com/go-sql-driver/mysql.(buffer).fill(0x4003b3c240, 0x4) /usr/local/go/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/buffer.go:90 +0x250 github.com/go-sql-driver/mysql.(buffer).readNext(0x4003b3c240, 0x4) /usr/local/go/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/buffer.go:119 +0x34 github.com/go-sql-driver/mysql.(mysqlConn).readPacket(0x4003b3c240) /usr/local/go/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/packets.go:32 +0x74 github.com/go-sql-driver/mysql.(mysqlConn).readResultSetHeaderPacket(0x4003b3c240?) /usr/local/go/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/packets.go:538 +0x24 github.com/go-sql-driver/mysql.(mysqlConn).query(0x4003b3c240, {0x4004833980?, 0x4000052290?}, {0x5411af8?, 0x4001e515f8?, 0x12238d4?}) /usr/local/go/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/connection.go:379 +0xbc github.com/go-sql-driver/mysql.(mysqlConn).QueryContext(0x4003b3c240, {0x38a4510, 0x4000052290}, {0x4004833980, 0x20}, {0x5411af8, 0x0, 0x0?}) /usr/local/go/pkg/mod/github.com/go-sql-driver/mysql@v1.6.0/connection.go:505 +0xa4 database/sql.ctxDriverQuery({0x38a4510?, 0x4000052290?}, {0xffffb97ff660?, 0x4003b3c240?}, {0x0?, 0x0?}, {0x4004833980?, 0x338b397?}, {0x5411af8?, 0x1223d54?, ...}) /usr/lib/go/src/database/sql/ctxutil.go:48 +0xb0 database/sql.(DB).queryDC.func1() /usr/lib/go/src/database/sql/sql.go:1759 +0x134 database/sql.withLock({0x3886a40, 0x4004022ab0}, 0x4001e518a8) /usr/lib/go/src/database/sql/sql.go:3437 +0x80 database/sql.(DB).queryDC(0x4001afad00?, {0x38a4510, 0x4000052290}, {0x0, 0x0}, 0x4004022ab0, 0x4001d4f700, {0x4004833980, 0x20}, {0x0, ...}) /usr/lib/go/src/database/sql/sql.go:1754 +0x16c database/sql.(DB).query(0x4001e51a38?, {0x38a4510, 0x4000052290}, {0x4004833980, 0x20}, {0x0, 0x0, 0x0}, 0x11?) /usr/lib/go/src/database/sql/sql.go:1737 +0xc0 database/sql.(DB).QueryContext(0x4001e51a78?, {0x38a4510, 0x4000052290}, {0x4004833980, 0x20}, {0x0, 0x0, 0x0}) /usr/lib/go/src/database/sql/sql.go:1710 +0xa0 database/sql.(DB).Query(0x400287c680?, {0x4004833980?, 0x0?}, {0x0?, 0x40039486a8?, 0x11411d8?}) /usr/lib/go/src/database/sql/sql.go:1728 +0x54 github.com/jinzhu/gorm.queryCallback(0x400287c680) /usr/local/go/pkg/mod/github.com/jinzhu/gorm@v1.9.11/callback_query.go:67 +0x58c github.com/jinzhu/gorm.(Scope).callCallbacks(0x400287c680, {0x4000b1f680, 0x3, 0xffffb9894bd0?}) /usr/local/go/pkg/mod/github.com/jinzhu/gorm@v1.9.11/scope.go:867 +0x8c github.com/jinzhu/gorm.(DB).Find(0x40006bcc30, {0x2d2d5a0?, 0x4003948678?}, {0x0, 0x0, 0x0}) /usr/local/go/pkg/mod/github.com/jinzhu/gorm@v1.9.11/main.go:351 +0x1f4 basicsrv/repository/mysql/autoprovision.(*HostExtension).Search(0x2eb6d00?, {0x386ec84, 0x1}) /home/new/M-1.11.X-release/pbxcore/gosrv/src/basicsrv/repository/mysql/autoprovision/hostextension.go:95 +0x1f0 basicsrv/astconfig.readExtensionConfig(0x4eb5c40) /home/new/M-1.11.X-release/pbxcore/gosrv/src/basicsrv/astconfig/config.go:226 +0x694 basicsrv/astconfig.readFirstLoadConfig.func1() /home/new/M-1.11.X-release/pbxcore/gosrv/src/basicsrv/astconfig/config.go:815 +0x5c created by basicsrv/astconfig.readFirstLoadConfig /home/new/M-1.11.X-release/pbxcore/gosrv/src/basicsrv/astconfig/config.go:813 +0xbc

Comment From: github-actions[bot]

The issue has been automatically marked as stale as it missing playground pull request link, which is important to help others understand your issue effectively and make sure the issue hasn't been fixed on latest master, checkout https://github.com/go-gorm/playground for details. it will be closed in 30 days if no further activity occurs. if you are asking question, please use the Question template, most likely your question already answered https://github.com/go-gorm/gorm/issues or described in the document https://gorm.io ✨ Search Before Asking

Comment From: saeidee

How can your playground-linked PR be related to IO blocking?

Comment From: sunjvhui

May not be related to playground-linked PR, but io blocking is real

Comment From: jinzhu

IO blocking is usually caused by transactions not being committed/rollbacked or rows not closed correctly

Comment From: sunjvhui

Gorm I/O blocking

/home/new/M-1.11.X-release/pbxcore/gosrv/src/basicsrv/repository/mysql/autoprovision/hostextension.go:95 +0x1f0 As above hostextension.go:95, the query mysql table does not trigger things or rollback,But io is still blocked

Comment From: jinzhu

IO blocking is usually caused by transactions not being committed/rollbacked or rows not closed correctly

IO blocking is 100% caused by those reasons, you can capture the goroutines pprof and find the blocking goroutine.