-
Notifications
You must be signed in to change notification settings - Fork 19
Open
Description
I've been using your driver to do some post-processing analysis on various sqlite databases I have. The analysis involves many queryies, table creation, insertions, etc. To the best of my knowledge, there is no concurrency in the post-process.
To reproduce:
- go get github.com/rwcarlsen/cyan/...
- download https://drive.google.com/file/d/0B6XSHy3AAHtsSHJhTmZMT2E1TEE/edit?usp=sharing
- run
cp orig-segfault.sqlite segfault.sqlite; cycpost segfault.sqliteover and over - eventually you get a segfault (sample output below). I usually get a segfault after a couple hundred runs. Since cycpost modifies the database in-place, you need to keep a fresh, un-post-processed copy of the db around.
Other info:
- go version go1.2.1 linux/amd64
- GOMAXPROCS -> unset
Sample failure output:
SIGSEGV: segmentation violation
PC=0x40e52e
signal arrived during cgo execution
runtime.cgocall(0x405d83, 0x7f9d2aebc2c8)
/home/r/go/src/pkg/runtime/cgocall.c:149 +0x11b fp=0x7f9d2aebc2b0
github.com/mxk/go-sqlite/sqlite3._Cfunc_sqlite3_step(0x2817bc8, 0x7f9d2aebc430)
github.com/mxk/go-sqlite/sqlite3/_obj/_cgo_defun.c:608 +0x31 fp=0x7f9d2aebc2c8
github.com/mxk/go-sqlite/sqlite3.(*Stmt).step(0xc2100836e0, 0x7f9d2aebc430, 0x2)
/home/r/gopath/src/github.com/mxk/go-sqlite/sqlite3/sqlite3.go:959 +0x65 fp=0x7f9d2aebc310
github.com/mxk/go-sqlite/sqlite3.(*Stmt).exec(0xc2100836e0, 0x7f9d2aebc430, 0x2, 0x2, 0x0, ...)
/home/r/gopath/src/github.com/mxk/go-sqlite/sqlite3/sqlite3.go:870 +0xdb fp=0x7f9d2aebc360
github.com/mxk/go-sqlite/sqlite3.(*Stmt).Query(0xc2100836e0, 0x7f9d2aebc430, 0x2, 0x2, 0x536ba0, ...)
/home/r/gopath/src/github.com/mxk/go-sqlite/sqlite3/sqlite3.go:771 +0x9e fp=0x7f9d2aebc398
github.com/rwcarlsen/cyan/post.(*Context).getNewOwners(0xc21005d180, 0x501, 0x0, 0x0, 0x0, ...)
/home/r/gopath/src/github.com/rwcarlsen/cyan/post/walker.go:294 +0x178 fp=0x7f9d2aebc478
github.com/rwcarlsen/cyan/post.(*Context).walkDown(0xc21005d180, 0xc2100d8b10)
/home/r/gopath/src/github.com/rwcarlsen/cyan/post/walker.go:259 +0x508 fp=0x7f9d2aebc648
github.com/rwcarlsen/cyan/post.(*Context).walkDown(0xc21005d180, 0xc2100d8a80)
/home/r/gopath/src/github.com/rwcarlsen/cyan/post/walker.go:288 +0x991 fp=0x7f9d2aebc818
github.com/rwcarlsen/cyan/post.(*Context).walkDown(0xc21005d180, 0xc2100d8a20)
/home/r/gopath/src/github.com/rwcarlsen/cyan/post/walker.go:288 +0x991 fp=0x7f9d2aebc9e8
github.com/rwcarlsen/cyan/post.(*Context).walkDown(0xc21005d180, 0xc2100d89c0)
/home/r/gopath/src/github.com/rwcarlsen/cyan/post/walker.go:288 +0x991 fp=0x7f9d2aebcbb8
github.com/rwcarlsen/cyan/post.(*Context).walkDown(0xc21005d180, 0xc21008e840)
/home/r/gopath/src/github.com/rwcarlsen/cyan/post/walker.go:288 +0x991 fp=0x7f9d2aebcd88
github.com/rwcarlsen/cyan/post.(*Context).WalkAll(0xc21005d180, 0x0, 0x0)
/home/r/gopath/src/github.com/rwcarlsen/cyan/post/walker.go:196 +0x3f0 fp=0x7f9d2aebce88
main.main()
/home/r/gopath/src/github.com/rwcarlsen/cyan/cmd/cycpost/main.go:39 +0x1d6 fp=0x7f9d2aebcf48
runtime.main()
/home/r/go/src/pkg/runtime/proc.c:220 +0x11f fp=0x7f9d2aebcfa0
runtime.goexit()
/home/r/go/src/pkg/runtime/proc.c:1394 fp=0x7f9d2aebcfa8
goroutine 3 [syscall]:
runtime.goexit()
/home/r/go/src/pkg/runtime/proc.c:1394
goroutine 4 [finalizer wait]:
runtime.park(0x48f920, 0x8cdc68, 0x8c0d68)
/home/r/go/src/pkg/runtime/proc.c:1342 +0x66
runfinq()
/home/r/go/src/pkg/runtime/mgc0.c:2279 +0x84
runtime.goexit()
/home/r/go/src/pkg/runtime/proc.c:1394
rax 0xee478523a12a5b8b
rbx 0x2671428
rcx 0x267de00
rdx 0x267de00
rdi 0x2671428
rsi 0xd
rbp 0x1a0
rsp 0x7f9d2a0b1870
r8 0x1
r9 0x0
r10 0x45
r11 0x7f9d240008c8
r12 0x2671428
r13 0x0
r14 0x26b54eb
r15 0xc
rip 0x40e52e
rflags 0x10286
cs 0x33
fs 0x0
gs 0x0
Metadata
Metadata
Assignees
Labels
No labels