Skip to content

[opampsupervisor] Panic occurred in agent while configuring the TCP log receiver. #39474

Closed
@dhruvit-crest

Description

@dhruvit-crest

Component(s)

cmd/opampsupervisor, cmd/otelcontribcol, receiver/tcplog, extension/opamp

What happened?

Description

When running collector using OpAMP supervisor it's panic on notifyConfig method for tcplog reciever.

Steps to Reproduce

Use the OpAMP Supervisor to connect with the server and attempt to apply the effective configuration to the provided configuration.

Expected Result

Config should be applied and collector should report back effective config.

Actual Result

Collector was in crashloop back with provided error.

Collector version

v0.123.1

Environment information

OS: Ubuntu 24.04

OpenTelemetry Collector configuration

exporters:
    nop: null
extensions:
    health_check:
        endpoint: localhost:35221
    opamp:
        capabilities:
            reports_available_components: false
        instance_uid: 019643a2-9460-7bf8-9de0-43645c31c6c4
        ppid: 3450714
        ppid_poll_interval: 5s
        server:
            ws:
                endpoint: ws://127.0.0.1:38101/v1/opamp
                tls:
                    insecure: true
receivers:
    tcplog:
        add_attributes: true
        listen_address: 0.0.0.0:54525
service:
    extensions:
        - health_check
        - opamp
    pipelines:
        logs/nop:
            exporters:
                - nop
            receivers:
                - tcplog
    telemetry:
        logs:
            encoding: json
        resource:
            host.arch: amd64
            host.name: ub24-50-13-68
            os.description: Ubuntu 24.04
            os.type: linux
            service.instance.id: 019643a2-9460-7bf8-9de0-43645c31c6c4
            service.name: otelcol-contrib
            service.version: 0.123.1

Log output

{"level":"info","ts":"2025-04-17T17:34:18.573+0530","caller":"[email protected]/service.go:197","msg":"Setting up own telemetry..."}
{"level":"info","ts":"2025-04-17T17:34:18.575+0530","caller":"[email protected]/service.go:264","msg":"Starting otelcol-contrib...","Version":"0.123.1","NumCPU":12}
{"level":"info","ts":"2025-04-17T17:34:18.575+0530","caller":"extensions/extensions.go:41","msg":"Starting extensions..."}
{"level":"info","ts":"2025-04-17T17:34:18.575+0530","caller":"extensions/extensions.go:45","msg":"Extension is starting..."}
{"level":"info","ts":"2025-04-17T17:34:18.575+0530","caller":"[email protected]/healthcheckextension.go:32","msg":"Starting health_check extension","config":{"Endpoint":"localhost:35221","TLSSetting":null,"CORS":null,"Auth":null,"MaxRequestBodySize":0,"IncludeMetadata":false,"ResponseHeaders":null,"CompressionAlgorithms":null,"ReadTimeout":0,"ReadHeaderTimeout":0,"WriteTimeout":0,"IdleTimeout":0,"Path":"/","ResponseBody":null,"CheckCollectorPipeline":{"Enabled":false,"Interval":"5m","ExporterFailureThreshold":5}}}
{"level":"info","ts":"2025-04-17T17:34:18.575+0530","caller":"extensions/extensions.go:62","msg":"Extension started."}
{"level":"info","ts":"2025-04-17T17:34:18.575+0530","caller":"extensions/extensions.go:45","msg":"Extension is starting..."}
{"level":"info","ts":"2025-04-17T17:34:18.577+0530","caller":"extensions/extensions.go:62","msg":"Extension started."}
panic: cannot marshal type: tcp.SplitFuncBuilder [recovered]
	panic: cannot marshal type: tcp.SplitFuncBuilder

goroutine 1 [running]:
gopkg.in/yaml%2ev3.handleErr(0xc000ef48e0)
	gopkg.in/[email protected]/yaml.go:294 +0x68
panic({0x9930c60?, 0xc001a690a0?})
	runtime/panic.go:792 +0x132
gopkg.in/yaml%2ev3.(*encoder).marshal(0xc000981408, {0x0, 0x0}, {0xa08e2c0?, 0x0?, 0xc000ef39a0?})
	gopkg.in/[email protected]/encode.go:182 +0x9d9
gopkg.in/yaml%2ev3.(*encoder).marshal(0xc000981408, {0x0, 0x0}, {0x9dba4c0?, 0xc001a69090?, 0x98?})
	gopkg.in/[email protected]/encode.go:162 +0x74b
gopkg.in/yaml%2ev3.(*encoder).marshal.(*encoder).mapv.func1()
	gopkg.in/[email protected]/encode.go:192 +0xe5
gopkg.in/yaml%2ev3.(*encoder).mappingv(0xc000981408, {0x0?, 0x0}, 0xc000ef3dd0)
	gopkg.in/[email protected]/encode.go:265 +0x14a
gopkg.in/yaml%2ev3.(*encoder).mapv(...)
	gopkg.in/[email protected]/encode.go:187
gopkg.in/yaml%2ev3.(*encoder).marshal(0xc000981408, {0x0, 0x0}, {0xa3a7b80?, 0xc001a392c0?, 0xc000ef3ea0?})
	gopkg.in/[email protected]/encode.go:164 +0x7bf
gopkg.in/yaml%2ev3.(*encoder).marshal(0xc000981408, {0x0, 0x0}, {0x9dba4c0?, 0xc001a68d70?, 0x98?})
	gopkg.in/[email protected]/encode.go:162 +0x74b
gopkg.in/yaml%2ev3.(*encoder).marshal.(*encoder).mapv.func1()
	gopkg.in/[email protected]/encode.go:192 +0xe5
gopkg.in/yaml%2ev3.(*encoder).mappingv(0xc000981408, {0x0?, 0x0}, 0xc000ef42d0)
	gopkg.in/[email protected]/encode.go:265 +0x14a
gopkg.in/yaml%2ev3.(*encoder).mapv(...)
	gopkg.in/[email protected]/encode.go:187
gopkg.in/yaml%2ev3.(*encoder).marshal(0xc000981408, {0x0, 0x0}, {0xa3a7b80?, 0xc001a39140?, 0xc000ef43a0?})
	gopkg.in/[email protected]/encode.go:164 +0x7bf
gopkg.in/yaml%2ev3.(*encoder).marshal(0xc000981408, {0x0, 0x0}, {0x9dba4c0?, 0xc001a68d40?, 0x98?})
	gopkg.in/[email protected]/encode.go:162 +0x74b
gopkg.in/yaml%2ev3.(*encoder).marshal.(*encoder).mapv.func1()
	gopkg.in/[email protected]/encode.go:192 +0xe5
gopkg.in/yaml%2ev3.(*encoder).mappingv(0xc000981408, {0x0?, 0x0}, 0xc000ef47d0)
	gopkg.in/[email protected]/encode.go:265 +0x14a
gopkg.in/yaml%2ev3.(*encoder).mapv(...)
	gopkg.in/[email protected]/encode.go:187
gopkg.in/yaml%2ev3.(*encoder).marshal(0xc000981408, {0x0, 0x0}, {0xa3a7b80?, 0xc001a389c0?, 0xc000ef4868?})
	gopkg.in/[email protected]/encode.go:164 +0x7bf
gopkg.in/yaml%2ev3.(*encoder).marshalDoc(0xc000981408, {0x0, 0x0}, {0xa3a7b80?, 0xc001a389c0?, 0x0?})
	gopkg.in/[email protected]/encode.go:105 +0x12e
gopkg.in/yaml%2ev3.Marshal({0xa3a7b80, 0xc001a389c0})
	gopkg.in/[email protected]/yaml.go:222 +0x316
github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension.(*opampAgent).composeEffectiveConfig(0xc00175e4b0)
	github.com/open-telemetry/opentelemetry-collector-contrib/extension/[email protected]/opamp_agent.go:413 +0xca
github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension.(*opampAgent).Start.func5({0xc39fd8?, 0xc001a1e990?})
	github.com/open-telemetry/opentelemetry-collector-contrib/extension/[email protected]/opamp_agent.go:144 +0x17
github.com/open-telemetry/opamp-go/client/internal.(*ClientCommon).UpdateEffectiveConfig(0xc00187c000, {0xcaf6f10?, 0x13f42dc0?})
	github.com/open-telemetry/[email protected]/client/internal/clientcommon.go:302 +0x3d
github.com/open-telemetry/opamp-go/client.(*wsClient).UpdateEffectiveConfig(0xc00175e4b0?, {0xcaf6f10?, 0x13f42dc0?})
	github.com/open-telemetry/[email protected]/client/wsclient.go:137 +0x1f
github.com/open-telemetry/opentelemetry-collector-contrib/extension/opampextension.(*opampAgent).NotifyConfig(0xc00175e4b0, {0xcaf6f10, 0x13f42dc0}, 0x108?)
	github.com/open-telemetry/opentelemetry-collector-contrib/extension/[email protected]/opamp_agent.go:224 +0x5f
go.opentelemetry.io/collector/service/extensions.(*Extensions).NotifyConfig(0xc00182f700, {0xcaf6f10, 0x13f42dc0}, 0xc001841ac0)
	go.opentelemetry.io/collector/[email protected]/extensions/extensions.go:125 +0x14b
go.opentelemetry.io/collector/service.(*Service).Start(0xc00182cf00, {0xcaf6f10, 0x13f42dc0})
	go.opentelemetry.io/collector/[email protected]/service.go:274 +0x2ae
go.opentelemetry.io/collector/otelcol.(*Collector).setupConfigurationComponents(0xc000803680, {0xcaf6f10, 0x13f42dc0})
	go.opentelemetry.io/collector/[email protected]/collector.go:242 +0xb5d
go.opentelemetry.io/collector/otelcol.(*Collector).Run(0xc000803680, {0xcaf6f10, 0x13f42dc0})
	go.opentelemetry.io/collector/[email protected]/collector.go:296 +0x55
go.opentelemetry.io/collector/otelcol.NewCommand.func1(0xc001756008, {0xb7f3064?, 0x7?, 0xb7e703b?})
	go.opentelemetry.io/collector/[email protected]/command.go:39 +0xa7
github.com/spf13/cobra.(*Command).execute(0xc001756008, {0xc0001740d0, 0x2, 0x2})
	github.com/spf13/[email protected]/command.go:1015 +0xa94
github.com/spf13/cobra.(*Command).ExecuteC(0xc001756008)
	github.com/spf13/[email protected]/command.go:1148 +0x40c
github.com/spf13/cobra.(*Command).Execute(0xbc553b8?)
	github.com/spf13/[email protected]/command.go:1071 +0x13
main.runInteractive({0xbc553b8, {{0xb8351ce, 0xf}, {0xb900e5b, 0x1f}, {0xb7f2eb2, 0x7}}, 0x0, {{{0x0, 0x0, ...}, ...}}, ...})
	github.com/open-telemetry/opentelemetry-collector-releases/contrib/main.go:67 +0x5d
main.run(...)
	github.com/open-telemetry/opentelemetry-collector-releases/contrib/main_others.go:10
main.main()
	github.com/open-telemetry/opentelemetry-collector-releases/contrib/main.go:60 +0x4dd

Additional context

No response

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions