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

signal arrived during cgo execution

Open tiandh987 opened this issue 1 year ago • 3 comments

SIGSEGV: segmentation violation PC=0x7660475c m=7 sigcode=1 addr=0x9395d23b signal arrived during cgo execution

goroutine 116 gp=0x24cec68 m=7 mp=0x2104508 [syscall]: runtime.cgocall(0xd0b580, 0x252c728) /go/go1.23.1/src/runtime/cgocall.go:167 +0x50 fp=0x252c710 sp=0x252c6f8 pc=0xd71b8 github.com/mattn/go-sqlite3._Cfunc__sqlite3_open_v2(0x75924580, 0x314e428, 0x10006, 0x0) _cgo_gotypes.go:318 +0x38 fp=0x252c724 sp=0x252c710 pc=0x71e8cc github.com/mattn/go-sqlite3.(*SQLiteDriver).Open.func2(0x75924580, 0x314e428, 0x10000) /workspace/golang/pkg/mod/github.com/mattn/[email protected]+incompatible/sqlite3.go:1359 +0x64 fp=0x252c740 sp=0x252c724 pc=0x72de6c github.com/mattn/go-sqlite3.(*SQLiteDriver).Open(0x212cca0, {0x1495f77, 0x17}) /workspace/golang/pkg/mod/github.com/mattn/[email protected]+incompatible/sqlite3.go:1359 +0x2a9c fp=0x252ca24 sp=0x252c740 pc=0x72b4e4 database/sql.dsnConnector.Connect(...) /go/go1.23.1/src/database/sql/sql.go:801 database/sql.(*dsnConnector).Connect(0x265b640, {0x1639b70, 0x1f45708}) :1 +0x4c fp=0x252ca44 sp=0x252ca24 pc=0x5cb30c database/sql.(*DB).conn(0x2516b48, {0x1639b70, 0x1f45708}, 0x1) /go/go1.23.1/src/database/sql/sql.go:1423 +0x808 fp=0x252cb34 sp=0x252ca44 pc=0x5c0194 database/sql.(*DB).begin(0x2516b48, {0x1639b70, 0x1f45708}, 0x0, 0x1) /go/go1.23.1/src/database/sql/sql.go:1883 +0x34 fp=0x252cb60 sp=0x252cb34 pc=0x5c306c database/sql.(*DB).BeginTx.func1(0x1) /go/go1.23.1/src/database/sql/sql.go:1866 +0x4c fp=0x252cb8c sp=0x252cb60 pc=0x5c2f58 database/sql.(*DB).retry(0x2516b48, 0x252cbd4) /go/go1.23.1/src/database/sql/sql.go:1568 +0x78 fp=0x252cbb4 sp=0x252cb8c pc=0x5c0ebc database/sql.(*DB).BeginTx(0x2516b48, {0x1639b70, 0x1f45708}, 0x0) /go/go1.23.1/src/database/sql/sql.go:1865 +0x70 fp=0x252cbf0 sp=0x252cbb4 pc=0x5c2ed4 gorm.io/gorm.(*DB).Begin(0x293d7a0, {0x0, 0x0, 0x0}) /workspace/golang/pkg/mod/gorm.io/[email protected]/finisher_api.go:676 +0x124 fp=0x252cc48 sp=0x252cbf0 pc=0x6de9f4 gorm.io/gorm/callbacks.BeginTransaction(0x293d7a0) /workspace/golang/pkg/mod/gorm.io/[email protected]/callbacks/transaction.go:9 +0x4c fp=0x252cc68 sp=0x252cc48 pc=0x71a6d8 gorm.io/gorm.(*processor).Execute(0x2000630, 0x293d7a0) /workspace/golang/pkg/mod/gorm.io/[email protected]/callbacks.go:130 +0x3fc fp=0x252cce8 sp=0x252cc68 pc=0x6d3e3c gorm.io/gorm.(*DB).Updates(0x293d7a0, {0x1413408, 0x23d2b40}) /workspace/golang/pkg/mod/gorm.io/[email protected]/finisher_api.go:411 +0xa4 fp=0x252cd04 sp=0x252cce8 pc=0x6dc660

tiandh987 avatar Sep 30 '24 08:09 tiandh987

I just hit a similar issue:

database/sql.(*DB).QueryRowContext(...)
'	/usr/local/go/src/database/sql/sql.go:1733 +0xc5 fp=0xc000768fc8 sp=0xc000768f38 pc=0x1273dc5
'database/sql.(*DB).QueryContext(0xc00127a080?, {0x26f0ea0?, 0xc0012700e0?}, {0x237815b?, 0xb?}, {0xc000769070?, 0xc000e1d0a0?, 0x3?})
'	/usr/local/go/src/database/sql/sql.go:1568 +0x42 fp=0xc000768f38 sp=0xc000768ef0 pc=0x1272702
'database/sql.(*DB).retry(0x10?, 0xc000768f60)
'	/usr/local/go/src/database/sql/sql.go:1734 +0x4f fp=0xc000768ef0 sp=0xc000768e88 pc=0x1273eaf
database/sql.(*DB).QueryContext.func1(0x90?)
'	/usr/local/go/src/database/sql/sql.go:1751 +0x57 fp=0xc000768e88 sp=0xc000768e10 pc=0x1274017
'database/sql.(*DB).query(0xc0011ce270, {0x26f0ea0, 0xc0012700e0}, {0x237815b, 0x34}, {0xc000769070, 0x1, 0x1}, 0x0?)
'	/usr/local/go/src/database/sql/sql.go:1423 +0x87e fp=0xc000768e10 sp=0xc000768c70 pc=0x12719be
'database/sql.(*DB).conn(0xc0011ce270, {0x26f0ea0, 0xc0012700e0}, 0x1)
'	<autogenerated>:1 +0x31 fp=0xc000768c70 sp=0xc000768c48 pc=0x127dab1
'database/sql.(*dsnConnector).Connect(0xc0011ce290?, {0x20?, 0x10001266390?})
'	/usr/local/go/src/database/sql/sql.go:801
database/sql.dsnConnector.Connect(...)
'	/volume/code/go/vendor/[github.com/mattn/go-sqlite3/sqlite3.go:1343](http://github.com/mattn/go-sqlite3/sqlite3.go:1343) +0x2506 fp=0xc000768c48 sp=0xc0007686a8 pc=0x1ad2b46
'[github.com/mattn/go-sqlite3](http://github.com/mattn/go-sqlite3).(*SQLiteDriver).Open(0xc0000ad5a0, {0xc00118e3c0, 0x5d})
'	/volume/code/go/vendor/[github.com/mattn/go-sqlite3/sqlite3.go:1343](http://github.com/mattn/go-sqlite3/sqlite3.go:1343) +0x65 fp=0xc0007686a8 sp=0xc000768668 pc=0x1ad5805
'[github.com/mattn/go-sqlite3](http://github.com/mattn/go-sqlite3).(*SQLiteDriver).Open.func2(0x7a0ba8000b60, 0xc000e1d220, 0x231a9b6?)
'	_cgo_gotypes.go:300 +0x4b fp=0xc000768668 sp=0xc000768640 pc=0x1ac582b
'[github.com/mattn/go-sqlite3._Cfunc__sqlite3_open_v2](http://github.com/mattn/go-sqlite3._Cfunc__sqlite3_open_v2)(0x7a0ba8000b60, 0xc000e1d220, 0x10006, 0x0)
'	/usr/local/go/src/runtime/cgocall.go:167 +0x4b fp=0xc000768640 sp=0xc000768608 pc=0x47084b
'runtime.cgocall(0x1b73f90, 0xc000768668)
'goroutine 460 gp=0xc002cffa40 m=12 mp=0xc001002008 [syscall]:

signal arrived during cgo execution
'PC=0x0 m=12 sigcode=1 addr=0x0
SIGSEGV: segmentation violation

mikestefanello avatar Jul 28 '25 17:07 mikestefanello

@mikestefanello please provide more details. What version of this library are you using? What version of Go are you using? Do you have a minimal reproducer?

rittneje avatar Jul 28 '25 17:07 rittneje

@rittneje My apologies, I should have dug in further before posting. For now, please disregard my comment. This was a one-off event and it turns out the app is incorrectly using a retracted v2 release of this lib. I'll report back if I can reproduce using the latest release.

mikestefanello avatar Jul 28 '25 18:07 mikestefanello