Skip to content

Invalid memory address or nil pointer dereference #2579

@joostlawerman

Description

@joostlawerman

What platforms are affected?

linux

What architectures are affected?

amd64

What SpiceDB version are you using?

v1.45.4

Steps to Reproduce

Not sure, we are running spicedb in a docker container (3 instances per environment). Randomly one of the 3 instances crashes, one per +- two weeks. It is happening for some months now.

Expected Result

No unexpected crashes/ panics, should be running stable.

Actual Result

We get the following log, which seems to be a memory corruption of some sort.

Sep 24 05:54:51 panic: runtime error: invalid memory address or nil pointer dereference
Sep 24 05:54:51 [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x48b5e5]
Sep 24 05:54:51 goroutine 28 [running]:
google.golang.org/protobuf/encoding/protowire.AppendString(...)
    google.golang.org/protobuf/encoding/protowire/wire.go:479
google.golang.org/protobuf/internal/impl.appendStringValidateUTF8(...)
    google.golang.org/protobuf/internal/impl/codec_gen.go:5045 +0x91
google.golang.org/protobuf/internal/impl.(*MessageInfo).initOneofFieldCoders.func4(...)
    google.golang.org/protobuf/internal/impl/codec_field.go:96 +0x5d
google.golang.org/protobuf/internal/impl.appendMessageInfo(...)
    google.golang.org/protobuf/internal/impl/encode.go:215 +0x403
google.golang.org/protobuf/internal/impl.(*MessageInfo).marshalAppendPointer(...)
    google.golang.org/protobuf/internal/impl/codec_field.go:168 +0xa5
google.golang.org/protobuf/proto.Marshal(...)
    google.golang.org/protobuf/proto/encode.go:111 +0x50
go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp.(*client).UploadTraces(...)
    go.opentelemetry.io/otel/exporters/otlp/otlptrace/otlptracehttp/client.go:134 +0xb3
go.opentelemetry.io/otel/exporters/otlp/otlptrace.(*Exporter).ExportSpans(...)
    go.opentelemetry.io/otel/exporters/otlp/otlptrace/exporter.go:36 +0x63
go.opentelemetry.io/otel/sdk/trace.(*batchSpanProcessor).exportSpans(...)
    go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go:365 +0x437
go.opentelemetry.io/otel/sdk/trace.(*batchSpanProcessor).processQueue(...)
    go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go:394 +0x38c
go.opentelemetry.io/otel/sdk/trace.NewBatchSpanProcessor.func2()
    go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go:145 +0x51
created by go.opentelemetry.io/otel/sdk/trace.NewBatchSpanProcessor in goroutine 1
    go.opentelemetry.io/otel/sdk/trace/batch_span_processor.go:143 +0x565
Sep 24 05:54:51 spicedb serve failed

Found the following issues that might be related:

Metadata

Metadata

Assignees

No one assigned

    Labels

    area/observabilityAffects telemetry datakind/bugSomething is broken or regressed

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions