Skip to content

sql driver segfaults when mixing COPY FROM parquet and regular SQL inserts #178

@vbmithr

Description

@vbmithr

I don’t have a trivial repro ready, but I have noticed a segfault when alternating COPY FROM and regular inserts from the same SQL conn

panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0xf0 pc=0x17a7b4f]

goroutine 56 [running]:
github.com/datafuselabs/databend-go.(*APIClient).getPaginationConfig(...)
	/home/vb/go/pkg/mod/github.com/datafuselabs/[email protected]/client.go:386
github.com/datafuselabs/databend-go.(*APIClient).StartQuery(0x0, {0x301fb78, 0xc001b38b70}, {0xc002148a10?, 0x30636137598b5801?}, {0xc000af76c0?, 0x5d42e5?, 0x47d105?})
	/home/vb/go/pkg/mod/github.com/datafuselabs/[email protected]/client.go:540 +0x6f
github.com/datafuselabs/databend-go.(*APIClient).QuerySync(0x0, {0x301fb78, 0xc001b38b70}, {0xc002148a10?, 0x5fbad7?}, {0xc000af76c0?, 0xc0011f47f8?, 0x28beec2?})
	/home/vb/go/pkg/mod/github.com/datafuselabs/[email protected]/client.go:450 +0x65
github.com/datafuselabs/databend-go.(*DatabendConn).exec(0xc001b3b720, {0x301f6b0?, 0x47b1460?}, {0xc002148a10, 0x70}, {0xc000af76c0, 0x0, 0x0})
	/home/vb/go/pkg/mod/github.com/datafuselabs/[email protected]/connection.go:44 +0x8d
github.com/datafuselabs/databend-go.(*DatabendConn).ExecContext(0x15?, {0x301f6b0?, 0x47b1460?}, {0xc002148a10?, 0x4?}, {0x47b1460?, 0x23be500?, 0xc001c1a560?})
	/home/vb/go/pkg/mod/github.com/datafuselabs/[email protected]/connection.go:178 +0x15c
database/sql.ctxDriverExec({0x301f6b0?, 0x47b1460?}, {0x7f8e9c101130?, 0xc001b3b720?}, {0x0?, 0x0?}, {0xc002148a10?, 0x0?}, {0x47b1460, 0x0, ...})
	/usr/lib/go/src/database/sql/ctxutil.go:31 +0xd7
database/sql.(*DB).execDC.func2()
	/usr/lib/go/src/database/sql/sql.go:1713 +0x15c
database/sql.withLock({0x300de38, 0xc00086e180}, 0xc000af79f8)
	/usr/lib/go/src/database/sql/sql.go:3572 +0x71
database/sql.(*DB).execDC(0x1?, {0x301f6b0, 0x47b1460}, 0xc00086e180, 0xc0?, {0xc002148a10, 0x70}, {0x0, 0x0, 0x0})
	/usr/lib/go/src/database/sql/sql.go:1708 +0x216
database/sql.(*DB).exec(0xc000a4ba00, {0x301f6b0, 0x47b1460}, {0xc002148a10, 0x70}, {0x0, 0x0, 0x0}, 0xb0?)
	/usr/lib/go/src/database/sql/sql.go:1693 +0xcf
database/sql.(*DB).ExecContext.func1(0x70?)
	/usr/lib/go/src/database/sql/sql.go:1672 +0x4f
database/sql.(*DB).retry(0xc000af7be8?, 0xc000af7be8)
	/usr/lib/go/src/database/sql/sql.go:1576 +0x42
database/sql.(*DB).ExecContext(0x2958138?, {0x301f6b0?, 0x47b1460?}, {0xc002148a10?, 0x2?}, {0x0?, 0xc000af7df0?, 0x4?})
	/usr/lib/go/src/database/sql/sql.go:1671 +0xc8

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions