Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

bug: panic in ydb-go-sdk-zap on failed insert #6

Closed
misty-fungus opened this issue Nov 11, 2021 · 1 comment
Closed

bug: panic in ydb-go-sdk-zap on failed insert #6

misty-fungus opened this issue Nov 11, 2021 · 1 comment
Labels
bug Something isn't working

Comments

@misty-fungus
Copy link

Bug Report

YDB GO SDK version:

github.com/ydb-platform/ydb-api-protos v0.0.0-20210921091122-f697ac767e19
github.com/ydb-platform/ydb-go-genproto v0.0.0-20211103074319-526e57659e16
github.com/ydb-platform/ydb-go-sdk-metrics v0.4.1
github.com/ydb-platform/ydb-go-sdk-prometheus v0.4.1
github.com/ydb-platform/ydb-go-sdk-zap v0.3.0
github.com/ydb-platform/ydb-go-sdk-zerolog v0.3.0
github.com/ydb-platform/ydb-go-sdk/v3 v3.3.3
github.com/ydb-platform/ydb-go-yc v0.2.1

Environment

Linux x64, local ydb installation with enabled ydb zap logging

Current behavior:

simple insert causes panic at zap.String("tx", tx.ID()),

Expected behavior:

no panic

Steps to reproduce:

  1. Create table,
  2. execute insert with enabled zap logging
  3. execute same insert again

Other information:

t.OnSessionQueryExecute = func(info trace.ExecuteDataQueryStartInfo) func(trace.SessionQueryPrepareDoneInfo) {
	session := info.Session
	query := info.Query
	tx := info.Tx
	params := info.Parameters
	log.Debug("executing",
		zap.String("version", version),
		zap.String("id", session.ID()),
		zap.String("status", session.Status()),
		zap.String("tx", tx.ID()),  // PANIC
		zap.String("yql", query.String()),
		zap.String("params", params.String()),
	)
panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x18 pc=0xa522f1]

goroutine 1 [running]:
github.com/ydb-platform/ydb-go-sdk-zap.Table.func6({{0xecdff8, 0xc000392500}, {0xec77b8, 0xc000316000}, {0x0, 0x0}, {0xeca178, 0xc00038d8c0}, {0xebae80, 0xc0001162b8}})
        /-S/vendor/github.com/ydb-platform/ydb-go-sdk-zap/table.go:183 +0x1f1
github.com/ydb-platform/ydb-go-sdk/v3/trace.Table.onSessionQueryExecute({0xc000389100, 0xc000389110, 0xc000389120, 0xc000389130, 0xc000389140, 0xc000389150, 0xc000389160, 0xc000389170, 0xc000389180, 0xc000389190, ...}, ...)
        /-S/vendor/github.com/ydb-platform/ydb-go-sdk/v3/trace/table_gtrace.go:559 +0x55
github.com/ydb-platform/ydb-go-sdk/v3/trace.TableOnSessionQueryExecute({0xc000389100, 0xc000389110, 0xc000389120, 0xc000389130, 0xc000389140, 0xc000389150, 0xc000389160, 0xc000389170, 0xc000389180, 0xc000389190, ...}, ...)
        /-S/vendor/github.com/ydb-platform/ydb-go-sdk/v3/trace/table_gtrace.go:854 +0x158
github.com/ydb-platform/ydb-go-sdk/v3/internal/table.(*session).Execute(0xc000316000, {0xecdff8, 0xc000392500}, 0xbfcf80, {0xc0003c2000, 0x9a}, 0xc000316000, {0x0, 0x0, 0x0})
        /-S/vendor/github.com/ydb-platform/ydb-go-sdk/v3/internal/table/session.go:478 +0x1f4
a.yandex-team.ru/tasklet/experimental/internal/storage/ydb.(*Client).ExecuteWriteQuery.func1({0xecdff8, 0xc000392500}, {0x7f158c3c6b48, 0xc000316000})
        /-S/tasklet/experimental/internal/storage/ydb/client.go:116 +0x59
github.com/ydb-platform/ydb-go-sdk/v3/internal/table.retryBackoff({0xecdff8, 0xc000392500}, {0xed3af8, 0xc000578370}, {0xebccc0, 0xc00003a390}, {0xebccc0, 0xc00003a3a8}, 0x0, 0xc0006e4c00, ...)
        /-S/vendor/github.com/ydb-platform/ydb-go-sdk/v3/internal/table/retry.go:183 +0x31a
github.com/ydb-platform/ydb-go-sdk/v3/internal/table.(*client).Do(0xc000578370, {0xecdff8, 0xc000392500}, 0xc0006cfaf8, {0x0, 0x0, 0xbcdd80})
        /-S/vendor/github.com/ydb-platform/ydb-go-sdk/v3/internal/table/client.go:540 +0x1d4
github.com/ydb-platform/ydb-go-sdk/v3.(*lazyTable).Do(0xc000102b98, {0xecdff8, 0xc000392500}, 0x2, {0x0, 0x0, 0x0})
        /-S/vendor/github.com/ydb-platform/ydb-go-sdk/v3/table.go:23 +0x73
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

2 participants