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/sdk@v1.16.0/trace/span.go:383 +0x25
go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End(0xc002e7a180, {0x0, 0x0, 0xd5c01e0?})
        go.opentelemetry.io/otel/sdk@v1.16.0/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/pdata@v1.0.0-rcv0014/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/ottl@v0.84.0/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/ottl@v0.84.0/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/ottl@v0.84.0/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/ottl@v0.84.0/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/ottl@v0.84.0/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/ottl@v0.84.0/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/ottl@v0.84.0/boolean_value.go:60 +0xec
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.BoolExpr[...].Eval(...)
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl@v0.84.0/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/ottl@v0.84.0/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/routingprocessor@v0.84.0/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/routingprocessor@v0.84.0/traces.go:81 +0x28
go.opentelemetry.io/collector/consumer.ConsumeTracesFunc.ConsumeTraces(...)
        go.opentelemetry.io/collector/consumer@v0.84.0/traces.go:25
go.opentelemetry.io/collector/receiver/otlpreceiver/internal/trace.(*Receiver).Export(0xc002925470, {0x88e5f18, 0xc001d90e10}, {0x0?})
        go.opentelemetry.io/collector/receiver/otlpreceiver@v0.84.0/internal/trace/otlp.go:41 +0xc5
go.opentelemetry.io/collector/pdata/ptrace/ptraceotlp.rawTracesServer.Export({{0x889a548?, 0xc002925470?}}, {0x88e5f18?, 0xc001d90e10?}, 0xc002e7a100?)
        go.opentelemetry.io/collector/pdata@v1.0.0-rcv0014/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/pdata@v1.0.0-rcv0014/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/configgrpc@v0.84.0/configgrpc.go:400 +0x46
google.golang.org/grpc.getChainUnaryHandler.func1({0x88e5f18, 0xc001d90db0}, {0x769a460, 0xc002b00a08})
        google.golang.org/grpc@v1.57.0/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/otelgrpc@v0.42.1-0.20230612162650-64be7e574a17/interceptor.go:344 +0x52b
google.golang.org/grpc.NewServer.chainUnaryServerInterceptors.chainUnaryInterceptors.func1({0x88e5f18, 0xc001d907e0}, {0x769a460, 0xc002b00a08}, 0xc002088a50?, 0x698d9a0?)
        google.golang.org/grpc@v1.57.0/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/pdata@v1.0.0-rcv0014/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/grpc@v1.57.0/server.go:1360 +0xe15
google.golang.org/grpc.(*Server).handleStream(0xc00293a1e0, {0x8916aa0, 0xc0027009c0}, 0xc002923320, 0x0)
        google.golang.org/grpc@v1.57.0/server.go:1737 +0x9e7
google.golang.org/grpc.(*Server).serveStreams.func1.1()
        google.golang.org/grpc@v1.57.0/server.go:982 +0x8d
created by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 195
        google.golang.org/grpc@v1.57.0/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    exporter@v0.84.0/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    exporter@v0.84.0/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    exporter@v0.84.0/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    internal@v0.84.0/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    otlpreceiver@v0.84.0/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/sdk@v1.16.0/trace/span.go:383 +0x25
go.opentelemetry.io/otel/sdk/trace.(*recordingSpan).End(0xc002e7a180, {0x0, 0x0, 0xd5c01e0?})
        go.opentelemetry.io/otel/sdk@v1.16.0/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/pdata@v1.0.0-rcv0014/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/ottl@v0.84.0/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/ottl@v0.84.0/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/ottl@v0.84.0/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/ottl@v0.84.0/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/ottl@v0.84.0/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/ottl@v0.84.0/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/ottl@v0.84.0/boolean_value.go:60 +0xec
github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl.BoolExpr[...].Eval(...)
        github.com/open-telemetry/opentelemetry-collector-contrib/pkg/ottl@v0.84.0/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/ottl@v0.84.0/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/routingprocessor@v0.84.0/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/routingprocessor@v0.84.0/traces.go:81 +0x28
go.opentelemetry.io/collector/consumer.ConsumeTracesFunc.ConsumeTraces(...)
        go.opentelemetry.io/collector/consumer@v0.84.0/traces.go:25
go.opentelemetry.io/collector/receiver/otlpreceiver/internal/trace.(*Receiver).Export(0xc002925470, {0x88e5f18, 0xc001d90e10}, {0x0?})
        go.opentelemetry.io/collector/receiver/otlpreceiver@v0.84.0/internal/trace/otlp.go:41 +0xc5
go.opentelemetry.io/collector/pdata/ptrace/ptraceotlp.rawTracesServer.Export({{0x889a548?, 0xc002925470?}}, {0x88e5f18?, 0xc001d90e10?}, 0xc002e7a100?)
        go.opentelemetry.io/collector/pdata@v1.0.0-rcv0014/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/pdata@v1.0.0-rcv0014/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/configgrpc@v0.84.0/configgrpc.go:400 +0x46
google.golang.org/grpc.getChainUnaryHandler.func1({0x88e5f18, 0xc001d90db0}, {0x769a460, 0xc002b00a08})
        google.golang.org/grpc@v1.57.0/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/otelgrpc@v0.42.1-0.20230612162650-64be7e574a17/interceptor.go:344 +0x52b
google.golang.org/grpc.NewServer.chainUnaryServerInterceptors.chainUnaryInterceptors.func1({0x88e5f18, 0xc001d907e0}, {0x769a460, 0xc002b00a08}, 0xc002088a50?, 0x698d9a0?)
        google.golang.org/grpc@v1.57.0/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/pdata@v1.0.0-rcv0014/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/grpc@v1.57.0/server.go:1360 +0xe15
google.golang.org/grpc.(*Server).handleStream(0xc00293a1e0, {0x8916aa0, 0xc0027009c0}, 0xc002923320, 0x0)
        google.golang.org/grpc@v1.57.0/server.go:1737 +0x9e7
google.golang.org/grpc.(*Server).serveStreams.func1.1()
        google.golang.org/grpc@v1.57.0/server.go:982 +0x8d
created by google.golang.org/grpc.(*Server).serveStreams.func1 in goroutine 195
        google.golang.org/grpc@v1.57.0/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    grpc@v1.57.0/clientconn.go:477  [core][Channel #1] Channel created      {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.801-0300    INFO    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/clientconn.go:1807 [core][Channel #1] fallback to scheme "passthrough"     {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.801-0300    INFO    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/clientconn.go:565  [core][Channel #1] Channel Connectivity change to CONNECTING    {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:46.802-0300    INFO    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/clientconn.go:565  [core][Channel #1] Channel Connectivity change to CONNECTING    {"system": "grpc", "grpc_log": true}
2023-09-05T07:02:53.609-0300    WARN    grpc@v1.57.0/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/grpc@v1.57.0/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:993
2023-09-05T07:02:53.609-0300    INFO    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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/grpc@v1.57.0/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:993
2023-09-05T07:02:54.612-0300    INFO    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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/grpc@v1.57.0/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:993
2023-09-05T07:02:56.321-0300    INFO    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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/grpc@v1.57.0/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:993
2023-09-05T07:02:59.005-0300    INFO    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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/grpc@v1.57.0/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:993
2023-09-05T07:03:03.744-0300    INFO    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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/grpc@v1.57.0/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:993
2023-09-05T07:03:10.892-0300    INFO    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/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/grpc@v1.57.0/clientconn.go:1476
google.golang.org/grpc.(*addrConn).tryAllAddrs
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1416
google.golang.org/grpc.(*addrConn).resetTransport
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:1353
google.golang.org/grpc.(*addrConn).connect
        /home/jpkroehling/go/pkg/mod/google.golang.org/grpc@v1.57.0/clientconn.go:993
2023-09-05T07:03:21.525-0300    INFO    grpc@v1.57.0/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    grpc@v1.57.0/clientconn.go:565  [core][Channel #1] Channel Connectivity change to SHUTDOWN      {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:36.825-0300    INFO    grpc@v1.57.0/balancer_conn_wrappers.go:203      [core][Channel #1] ccBalancerWrapper: closing   {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:36.825-0300    INFO    grpc@v1.57.0/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    grpc@v1.57.0/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    grpc@v1.57.0/clientconn.go:1249 [core][Channel #1 SubChannel #2] Subchannel deleted     {"system": "grpc", "grpc_log": true}
2023-09-05T07:03:36.825-0300    INFO    grpc@v1.57.0/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 <juraci@kroehling.de>
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 <juraci@kroehling.de>

---------

Signed-off-by: Juraci Paixão Kröhling <juraci@kroehling.de>
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