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

[processor/routing] Collector crash #26462

Closed
jpkrohling opened this issue Sep 5, 2023 · 1 comment · Fixed by #26464
Closed

[processor/routing] Collector crash #26462

jpkrohling opened this issue Sep 5, 2023 · 1 comment · Fixed by #26464
Assignees
Labels
bug Something isn't working processor/routing Routing processor

Comments

@jpkrohling
Copy link
Member

jpkrohling commented Sep 5, 2023

Component(s)

processor/routing

What happened?

Description

Collector crash, caused by misuse of the ptrace.Span construct by the routing processor.

Steps to Reproduce

  1. start the collector with the provided config
  2. run telemetrygen traces --traces 10000 --otlp-insecure --otlp-attributes='attr1="demo",attr2="xxx"'
  3. watch it burn

Expected Result

No crashes.

Actual Result

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

goroutine 196 [running]:
go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End.func1()
        go.opentelemetry.io/otel/[email protected]/trace/span.go:383 +0x25
go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End(0xc002e7a180, {0x0, 0x0, 0xd5c01e0?})
        go.opentelemetry.io/otel/[email protected]/trace/span.go:415 +0x975
panic({0x698d520?, 0xd52b350?})
        runtime/panic.go:914 +0x21f
go.opentelemetry.io/collector/pdata/ptrace.Span.Attributes({0x0?})
        go.opentelemetry.io/collector/[email protected]/ptrace/generated_span.go:124
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal.SpanPathGetSetter[...].func31({{0x0?}, {0x0?}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/contexts/internal/span.go:408 +0x5b
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.StandardGetSetter[...].Get(...)
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/expression.go:49
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.(*Parser[...]).newComparisonEvaluator.func2({{0x0}, {0x0}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:87 +0xcd
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.BoolExpr[...].Eval(0xc001114fa0?, {0x88e5f18?, 0xc001d90ea0?}, {{0x0?}, {0x0?}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:19 +0x47
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.(*Parser[...].func2({{0x0}, {0x0}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:43 +0xec
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.BoolExpr[...].Eval(0x1?, {0x88e5f18?, 0xc001d90ea0?}, {{0x0?}, {0x0?}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:19 +0x47
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.(*Parser[...].func2({{0x0}, {0x0}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:60 +0xec
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.BoolExpr[...].Eval(...)
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:19
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.(*Statement[...]).Execute(0xc002e87120, {0x88e5f18?, 0xc001d90ea0}, {{0x0}, {0x0?}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/parser.go:55 +0x76
github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor.(*tracesProcessor).route(0xc002932460, {0x88e5f18, 0xc001d90ea0}, {0x7a7910f?})
        github.com/open-telemetry/opentelemetry-collector-contrib/processor/[email protected]/traces.go:116 +0x3db
github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor.(*tracesProcessor).ConsumeTraces(0x0?, {0x88e5f18?, 0xc001d90ea0?}, {0x6992e00?})
        github.com/open-telemetry/opentelemetry-collector-contrib/processor/[email protected]/traces.go:81 +0x28
go.opentelemetry.io/collector/consumer.ConsumeTracesFunc.ConsumeTraces(...)
        go.opentelemetry.io/collector/[email protected]/traces.go:25
go.opentelemetry.io/collector/receiver/otlpreceiver/internal/trace.(*Receiver).Export(0xc002925470, {0x88e5f18, 0xc001d90e10}, {0x0?})
        go.opentelemetry.io/collector/receiver/[email protected]/internal/trace/otlp.go:41 +0xc5
go.opentelemetry.io/collector/pdata/ptrace/ptraceotlp.rawTracesServer.Export({{0x889a548?, 0xc002925470?}}, {0x88e5f18?, 0xc001d90e10?}, 0xc002e7a100?)
        go.opentelemetry.io/collector/[email protected]/ptrace/ptraceotlp/grpc.go:83 +0xb0
go.opentelemetry.io/collector/pdata/internal/data/protogen/collector/trace/v1._TraceService_Export_Handler.func1({0x88e5f18, 0xc001d90e10}, {0x769a460?, 0xc002b00a08})
        go.opentelemetry.io/collector/[email protected]/internal/data/protogen/collector/trace/v1/trace_service.pb.go:310 +0x72
go.opentelemetry.io/collector/config/configgrpc.(*GRPCServerSettings).toServerOption.enhanceWithClientInformation.func9({0x88e5f18?, 0xc001d90db0?}, {0x769a460, 0xc002b00a08}, 0xa?, 0xc002b00cd8)
        go.opentelemetry.io/collector/config/[email protected]/configgrpc.go:400 +0x46
google.golang.org/grpc.getChainUnaryHandler.func1({0x88e5f18, 0xc001d90db0}, {0x769a460, 0xc002b00a08})
        google.golang.org/[email protected]/server.go:1179 +0xb2
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryServerInterceptor.func1({0x88e5f18, 0xc001d907e0}, {0x769a460, 0xc002b00a08}, 0xc002e692a0, 0xc002e73100)
        go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/[email protected]/interceptor.go:344 +0x52b
google.golang.org/grpc.NewServer.chainUnaryServerInterceptors.chainUnaryInterceptors.func1({0x88e5f18, 0xc001d907e0}, {0x769a460, 0xc002b00a08}, 0xc002088a50?, 0x698d9a0?)
        google.golang.org/[email protected]/server.go:1170 +0x85
go.opentelemetry.io/collector/pdata/internal/data/protogen/collector/trace/v1._TraceService_Export_Handler({0x683fd60?, 0xc00293d060}, {0x88e5f18, 0xc001d907e0}, 0xc001faf180, 0xc00292d4a0)
        go.opentelemetry.io/collector/[email protected]/internal/data/protogen/collector/trace/v1/trace_service.pb.go:312 +0x135
google.golang.org/grpc.(*Server).processUnaryRPC(0xc00293a1e0, {0x8916aa0, 0xc0027009c0}, 0xc002923320, 0xc002966d50, 0xd539870, 0x0)
        google.golang.org/[email protected]/server.go:1360 +0xe15
google.golang.org/grpc.(*Server).handleStream(0xc00293a1e0, {0x8916aa0, 0xc0027009c0}, 0xc002923320, 0x0)
        google.golang.org/[email protected]/server.go:1737 +0x9e7
google.golang.org/grpc.(*Server).serveStreams.func1.1()
        google.golang.org/[email protected]/server.go:982 +0x8d
created by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 195
        google.golang.org/[email protected]/server.go:980 +0x165

Collector version

0.84.0

Environment information

Environment

OS: Fedora release 38 (Thirty Eight)

OpenTelemetry Collector configuration

extensions:

receivers:
  otlp:
    protocols:
      grpc:

processors:
  routing:
    default_exporters: [logging]
    error_mode: ignore
    table:
      - statement: route() where attributes["attr1"] == "demo"
        exporters: [ logging/route-1 ]
      - statement: route() where attributes["attr1"] == "demo" and attributes["attr2"] == "xxx"
        exporters: [ logging/route-2 ]

exporters:
  logging:
  logging/route-1:
  logging/route-2:

connectors:

service:
  extensions:
  pipelines:
    traces:
      receivers: [otlp]
      processors: [routing]
      exporters: [logging, logging/route-1, logging/route-2]

Log output

2023-09-05T07:02:35.045-0300    info    service/telemetry.go:84 Setting up own telemetry...
2023-09-05T07:02:35.045-0300    info    service/telemetry.go:201        Serving Prometheus metrics      {"address": ":8888", "level": "Basic"}
2023-09-05T07:02:35.045-0300    info    [email protected]/exporter.go:275        Development component. May change in the future.        {"kind": "exporter", "data_type": "traces", "name": "logging/route-2"}
2023-09-05T07:02:35.045-0300    info    [email protected]/exporter.go:275        Development component. May change in the future.        {"kind": "exporter", "data_type": "traces", "name": "logging"}
2023-09-05T07:02:35.045-0300    info    [email protected]/exporter.go:275        Development component. May change in the future.        {"kind": "exporter", "data_type": "traces", "name": "logging/route-1"}
2023-09-05T07:02:35.047-0300    info    service/service.go:138  Starting otelcol-contrib...     {"Version": "0.84.0", "NumCPU": 16}
2023-09-05T07:02:35.047-0300    info    extensions/extensions.go:31     Starting extensions...
2023-09-05T07:02:35.048-0300    warn    [email protected]/warning.go:40  Using the 0.0.0.0 address exposes this server to every network interface, which may facilitate Denial of Service attacks        {"kind": "receiver", "name": "otlp", "data_type": "traces", "documentation": "https://github.com/open-telemetry/opentelemetry-collector/blob/main/docs/security-best-practices.md#safeguards-against-denial-of-service-attacks"}
2023-09-05T07:02:35.048-0300    info    [email protected]/otlp.go:83 Starting GRPC server    {"kind": "receiver", "name": "otlp", "data_type": "traces", "endpoint": "0.0.0.0:4317"}
2023-09-05T07:02:35.048-0300    info    service/service.go:161  Everything is ready. Begin running and processing data.
panic: runtime error: invalid memory address or nil pointer dereference [recovered]
        panic: runtime error: invalid memory address or nil pointer dereference
[signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0xb1d720]

goroutine 196 [running]:
go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End.func1()
        go.opentelemetry.io/otel/[email protected]/trace/span.go:383 +0x25
go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End(0xc002e7a180, {0x0, 0x0, 0xd5c01e0?})
        go.opentelemetry.io/otel/[email protected]/trace/span.go:415 +0x975
panic({0x698d520?, 0xd52b350?})
        runtime/panic.go:914 +0x21f
go.opentelemetry.io/collector/pdata/ptrace.Span.Attributes({0x0?})
        go.opentelemetry.io/collector/[email protected]/ptrace/generated_span.go:124
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl/contexts/internal.SpanPathGetSetter[...].func31({{0x0?}, {0x0?}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/contexts/internal/span.go:408 +0x5b
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.StandardGetSetter[...].Get(...)
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/expression.go:49
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.(*Parser[...]).newComparisonEvaluator.func2({{0x0}, {0x0}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:87 +0xcd
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.BoolExpr[...].Eval(0xc001114fa0?, {0x88e5f18?, 0xc001d90ea0?}, {{0x0?}, {0x0?}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:19 +0x47
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.(*Parser[...].func2({{0x0}, {0x0}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:43 +0xec
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.BoolExpr[...].Eval(0x1?, {0x88e5f18?, 0xc001d90ea0?}, {{0x0?}, {0x0?}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:19 +0x47
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.(*Parser[...].func2({{0x0}, {0x0}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:60 +0xec
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.BoolExpr[...].Eval(...)
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/boolean_value.go:19
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.(*Statement[...]).Execute(0xc002e87120, {0x88e5f18?, 0xc001d90ea0}, {{0x0}, {0x0?}, {0xc002991278?}, {0xc002b00d20?}})
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/[email protected]/parser.go:55 +0x76
github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor.(*tracesProcessor).route(0xc002932460, {0x88e5f18, 0xc001d90ea0}, {0x7a7910f?})
        github.com/open-telemetry/opentelemetry-collector-contrib/processor/[email protected]/traces.go:116 +0x3db
github.com/open-telemetry/opentelemetry-collector-contrib/processor/routingprocessor.(*tracesProcessor).ConsumeTraces(0x0?, {0x88e5f18?, 0xc001d90ea0?}, {0x6992e00?})
        github.com/open-telemetry/opentelemetry-collector-contrib/processor/[email protected]/traces.go:81 +0x28
go.opentelemetry.io/collector/consumer.ConsumeTracesFunc.ConsumeTraces(...)
        go.opentelemetry.io/collector/[email protected]/traces.go:25
go.opentelemetry.io/collector/receiver/otlpreceiver/internal/trace.(*Receiver).Export(0xc002925470, {0x88e5f18, 0xc001d90e10}, {0x0?})
        go.opentelemetry.io/collector/receiver/[email protected]/internal/trace/otlp.go:41 +0xc5
go.opentelemetry.io/collector/pdata/ptrace/ptraceotlp.rawTracesServer.Export({{0x889a548?, 0xc002925470?}}, {0x88e5f18?, 0xc001d90e10?}, 0xc002e7a100?)
        go.opentelemetry.io/collector/[email protected]/ptrace/ptraceotlp/grpc.go:83 +0xb0
go.opentelemetry.io/collector/pdata/internal/data/protogen/collector/trace/v1._TraceService_Export_Handler.func1({0x88e5f18, 0xc001d90e10}, {0x769a460?, 0xc002b00a08})
        go.opentelemetry.io/collector/[email protected]/internal/data/protogen/collector/trace/v1/trace_service.pb.go:310 +0x72
go.opentelemetry.io/collector/config/configgrpc.(*GRPCServerSettings).toServerOption.enhanceWithClientInformation.func9({0x88e5f18?, 0xc001d90db0?}, {0x769a460, 0xc002b00a08}, 0xa?, 0xc002b00cd8)
        go.opentelemetry.io/collector/config/[email protected]/configgrpc.go:400 +0x46
google.golang.org/grpc.getChainUnaryHandler.func1({0x88e5f18, 0xc001d90db0}, {0x769a460, 0xc002b00a08})
        google.golang.org/[email protected]/server.go:1179 +0xb2
go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc.UnaryServerInterceptor.func1({0x88e5f18, 0xc001d907e0}, {0x769a460, 0xc002b00a08}, 0xc002e692a0, 0xc002e73100)
        go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/[email protected]/interceptor.go:344 +0x52b
google.golang.org/grpc.NewServer.chainUnaryServerInterceptors.chainUnaryInterceptors.func1({0x88e5f18, 0xc001d907e0}, {0x769a460, 0xc002b00a08}, 0xc002088a50?, 0x698d9a0?)
        google.golang.org/[email protected]/server.go:1170 +0x85
go.opentelemetry.io/collector/pdata/internal/data/protogen/collector/trace/v1._TraceService_Export_Handler({0x683fd60?, 0xc00293d060}, {0x88e5f18, 0xc001d907e0}, 0xc001faf180, 0xc00292d4a0)
        go.opentelemetry.io/collector/[email protected]/internal/data/protogen/collector/trace/v1/trace_service.pb.go:312 +0x135
google.golang.org/grpc.(*Server).processUnaryRPC(0xc00293a1e0, {0x8916aa0, 0xc0027009c0}, 0xc002923320, 0xc002966d50, 0xd539870, 0x0)
        google.golang.org/[email protected]/server.go:1360 +0xe15
google.golang.org/grpc.(*Server).handleStream(0xc00293a1e0, {0x8916aa0, 0xc0027009c0}, 0xc002923320, 0x0)
        google.golang.org/[email protected]/server.go:1737 +0x9e7
google.golang.org/grpc.(*Server).serveStreams.func1.1()
        google.golang.org/[email protected]/server.go:982 +0x8d
created by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 195
        google.golang.org/[email protected]/server.go:980 +0x165

Additional context

Logs from telemetrygen:

telemetrygen traces --traces 10000 --otlp-insecure --otlp-attributes='attr1="demo",attr2="xxx"'
2023-09-05T07:02:46.801-0300    INFO    traces/traces.go:62     starting gRPC exporter
2023-09-05T07:02:46.801-0300    INFO    [email protected]/clientconn.go:477  [core][Channel #1] Channel created      {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.801-0300    INFO    [email protected]/clientconn.go:1786 [core][Channel #1] original dial target is: "localhost:4317"    {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.801-0300    INFO    [email protected]/clientconn.go:1793 [core][Channel #1] parsed dial target is: {URL:{Scheme:localhost Opaque:4317 User: Host: Path: RawPath: OmitHost:false ForceQuery:false RawQuery: Fragment: RawFragment:}}      {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.801-0300    INFO    [email protected]/clientconn.go:1807 [core][Channel #1] fallback to scheme "passthrough"     {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.801-0300    INFO    [email protected]/clientconn.go:1815 [core][Channel #1] parsed dial target is: {URL:{Scheme:passthrough Opaque: User: Host: Path:/localhost:4317 RawPath: OmitHost:false ForceQuery:false RawQuery: Fragment: RawFragment:}} {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.801-0300    INFO    [email protected]/clientconn.go:1948 [core][Channel #1] Channel authority set to "localhost:4317"    {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.801-0300    INFO    [email protected]/resolver_conn_wrapper.go:238       [core][Channel #1] Resolver state updated: {
  "Addresses": [
    {
      "Addr": "localhost:4317",
      "ServerName": "",
      "Attributes": null,
      "BalancerAttributes": null,
      "Type": 0,
      "Metadata": null
    }
  ],
  "ServiceConfig": null,
  "Attributes": null
} (resolver returned new addresses)     {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.802-0300    INFO    [email protected]/balancer_conn_wrappers.go:192      [core][Channel #1] Channel switches to new LB policy "pick_first"       {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.802-0300    INFO    [email protected]/balancer_conn_wrappers.go:312      [core][Channel #1 SubChannel #2] Subchannel created     {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.802-0300    INFO    [email protected]/clientconn.go:565  [core][Channel #1] Channel Connectivity change to CONNECTING    {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.802-0300    INFO    [email protected]/clientconn.go:1301 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to CONNECTING   {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.802-0300    INFO    [email protected]/clientconn.go:1414 [core][Channel #1 SubChannel #2] Subchannel picks a new address "localhost:4317" to connect     {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.804-0300    INFO    [email protected]/clientconn.go:1301 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to READY        {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.804-0300    INFO    [email protected]/clientconn.go:565  [core][Channel #1] Channel Connectivity change to READY {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.804-0300    INFO    traces/traces.go:120    generation of traces isn't being throttled
2023-09-05T07:02:46.828-0300    INFO    [email protected]/clientconn.go:1301 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to IDLE {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.828-0300    INFO    [email protected]/clientconn.go:565  [core][Channel #1] Channel Connectivity change to IDLE  {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.899-0300    INFO    traces/worker.go:92     traces generated        {"worker": 0, "traces": 10000}
2023-09-05T07:02:46.899-0300    INFO    traces/traces.go:80     stop the batch span processor
2023-09-05T07:02:53.608-0300    INFO    [email protected]/clientconn.go:1301 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to CONNECTING   {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:53.608-0300    INFO    [email protected]/clientconn.go:1414 [core][Channel #1 SubChannel #2] Subchannel picks a new address "localhost:4317" to connect     {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:53.608-0300    INFO    [email protected]/clientconn.go:565  [core][Channel #1] Channel Connectivity change to CONNECTING    {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:53.609-0300    WARN    [email protected]/clientconn.go:1476 [core][Channel #1 SubChannel #2] grpc: addrConn.createTransport failed to connect to {Addr: "localhost:4317", ServerName: "localhost:4317", }. Err: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"    {"system": "grpc", "grpc_log": true}
google.golang.org/grpc.(*addrConn).createTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:993
2023-09-05T07:02:53.609-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to TRANSIENT_FAILURE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"      {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:53.609-0300    INFO    [email protected]/clientconn.go:565  [core][Channel #1] Channel Connectivity change to TRANSIENT_FAILURE     {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:54.610-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to IDLE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"   {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:54.610-0300    INFO    [email protected]/clientconn.go:1301 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to CONNECTING   {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:54.610-0300    INFO    [email protected]/clientconn.go:1414 [core][Channel #1 SubChannel #2] Subchannel picks a new address "localhost:4317" to connect     {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:54.612-0300    WARN    [email protected]/clientconn.go:1476 [core][Channel #1 SubChannel #2] grpc: addrConn.createTransport failed to connect to {Addr: "localhost:4317", ServerName: "localhost:4317", }. Err: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"    {"system": "grpc", "grpc_log": true}
google.golang.org/grpc.(*addrConn).createTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:993
2023-09-05T07:02:54.612-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to TRANSIENT_FAILURE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"      {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:56.319-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to IDLE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"   {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:56.319-0300    INFO    [email protected]/clientconn.go:1301 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to CONNECTING   {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:56.319-0300    INFO    [email protected]/clientconn.go:1414 [core][Channel #1 SubChannel #2] Subchannel picks a new address "localhost:4317" to connect     {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:56.321-0300    WARN    [email protected]/clientconn.go:1476 [core][Channel #1 SubChannel #2] grpc: addrConn.createTransport failed to connect to {Addr: "localhost:4317", ServerName: "localhost:4317", }. Err: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"    {"system": "grpc", "grpc_log": true}
google.golang.org/grpc.(*addrConn).createTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:993
2023-09-05T07:02:56.321-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to TRANSIENT_FAILURE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"      {"system": "grpc", "grpc_log": true}
2023/09/05 07:02:56 traces export: context deadline exceeded: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"
2023-09-05T07:02:59.003-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to IDLE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"   {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:59.003-0300    INFO    [email protected]/clientconn.go:1301 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to CONNECTING   {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:59.003-0300    INFO    [email protected]/clientconn.go:1414 [core][Channel #1 SubChannel #2] Subchannel picks a new address "localhost:4317" to connect     {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:59.005-0300    WARN    [email protected]/clientconn.go:1476 [core][Channel #1 SubChannel #2] grpc: addrConn.createTransport failed to connect to {Addr: "localhost:4317", ServerName: "localhost:4317", }. Err: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"    {"system": "grpc", "grpc_log": true}
google.golang.org/grpc.(*addrConn).createTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:993
2023-09-05T07:02:59.005-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to TRANSIENT_FAILURE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"      {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:03.742-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to IDLE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"   {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:03.742-0300    INFO    [email protected]/clientconn.go:1301 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to CONNECTING   {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:03.742-0300    INFO    [email protected]/clientconn.go:1414 [core][Channel #1 SubChannel #2] Subchannel picks a new address "localhost:4317" to connect     {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:03.743-0300    WARN    [email protected]/clientconn.go:1476 [core][Channel #1 SubChannel #2] grpc: addrConn.createTransport failed to connect to {Addr: "localhost:4317", ServerName: "localhost:4317", }. Err: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"    {"system": "grpc", "grpc_log": true}
google.golang.org/grpc.(*addrConn).createTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:993
2023-09-05T07:03:03.744-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to TRANSIENT_FAILURE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"      {"system": "grpc", "grpc_log": true}
2023/09/05 07:03:06 traces export: context deadline exceeded: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"
2023-09-05T07:03:10.890-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to IDLE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"   {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:10.890-0300    INFO    [email protected]/clientconn.go:1301 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to CONNECTING   {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:10.890-0300    INFO    [email protected]/clientconn.go:1414 [core][Channel #1 SubChannel #2] Subchannel picks a new address "localhost:4317" to connect     {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:10.892-0300    WARN    [email protected]/clientconn.go:1476 [core][Channel #1 SubChannel #2] grpc: addrConn.createTransport failed to connect to {Addr: "localhost:4317", ServerName: "localhost:4317", }. Err: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"    {"system": "grpc", "grpc_log": true}
google.golang.org/grpc.(*addrConn).createTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:993
2023-09-05T07:03:10.892-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to TRANSIENT_FAILURE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"      {"system": "grpc", "grpc_log": true}
2023/09/05 07:03:16 traces export: context deadline exceeded: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"
2023-09-05T07:03:21.524-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to IDLE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"   {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:21.524-0300    INFO    [email protected]/clientconn.go:1301 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to CONNECTING   {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:21.524-0300    INFO    [email protected]/clientconn.go:1414 [core][Channel #1 SubChannel #2] Subchannel picks a new address "localhost:4317" to connect     {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:21.525-0300    WARN    [email protected]/clientconn.go:1476 [core][Channel #1 SubChannel #2] grpc: addrConn.createTransport failed to connect to {Addr: "localhost:4317", ServerName: "localhost:4317", }. Err: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"    {"system": "grpc", "grpc_log": true}
google.golang.org/grpc.(*addrConn).createTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/[email protected]/clientconn.go:993
2023-09-05T07:03:21.525-0300    INFO    [email protected]/clientconn.go:1303 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to TRANSIENT_FAILURE, last error: connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"      {"system": "grpc", "grpc_log": true}
2023/09/05 07:03:26 traces export: context deadline exceeded: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"
2023/09/05 07:03:36 traces export: context deadline exceeded: rpc error: code = Unavailable desc = connection error: desc = "transport: Error while dialing: dial tcp [::1]:4317: connect: connection refused"
2023-09-05T07:03:36.824-0300    INFO    [email protected]/clientconn.go:565  [core][Channel #1] Channel Connectivity change to SHUTDOWN      {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:36.825-0300    INFO    [email protected]/balancer_conn_wrappers.go:203      [core][Channel #1] ccBalancerWrapper: closing   {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:36.825-0300    INFO    [email protected]/resolver_conn_wrapper.go:126       [core][Channel #1] Closing the name resolver    {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:36.825-0300    INFO    [email protected]/clientconn.go:1301 [core][Channel #1 SubChannel #2] Subchannel Connectivity change to SHUTDOWN     {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:36.825-0300    INFO    [email protected]/clientconn.go:1249 [core][Channel #1 SubChannel #2] Subchannel deleted     {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:36.825-0300    INFO    [email protected]/clientconn.go:1251 [core][Channel #1] Channel deleted      {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:36.825-0300    INFO    traces/traces.go:70     stopping the exporter
@jpkrohling jpkrohling added bug Something isn't working needs triage New item requiring triage labels Sep 5, 2023
@jpkrohling jpkrohling self-assigned this Sep 5, 2023
@github-actions
Copy link
Contributor

github-actions bot commented Sep 5, 2023

Pinging code owners:

See Adding Labels via Comments if you do not have permissions to add labels yourself.

@jpkrohling jpkrohling added processor/routing Routing processor connector/routing and removed pkg/ottl needs triage New item requiring triage labels Sep 5, 2023
@jpkrohling jpkrohling changed the title [pkg/ottl] Collector crash [processor/routing] Collector crash Sep 5, 2023
jpkrohling added a commit to jpkrohling/opentelemetry-collector-contrib that referenced this issue Sep 5, 2023
This PR changes the routing processor so that it properly creates new instances of pdata.Span and InstrumentationScope, avoiding crashes later on due to nil pointers.

Fixes open-telemetry#26462

Signed-off-by: Juraci Paixão Kröhling <[email protected]>
jpkrohling added a commit that referenced this issue Sep 6, 2023
This PR changes the routing processor so that it properly creates new
instances of pdata.Span and InstrumentationScope, avoiding crashes later
on due to nil pointers.

Fixes #26462

Signed-off-by: Juraci Paixão Kröhling <[email protected]>

---------

Signed-off-by: Juraci Paixão Kröhling <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working processor/routing Routing processor
Projects
None yet
1 participant