Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
[receiver/hostmetrics] Fix panic in load_scraper_windows when stopping (
#28678) **Description:** Fix a panic when the load scraper for Windows is stopped before being started. This can happen when the collector fails at startup. In this case the components are shutdown even if they were not started. This was encountered in real world usage. ```terminal 2023-10-23T13:13:23.137-0500 info [email protected]/service.go:170 Starting shutdown... 2023-10-23T13:13:23.138-0500 info healthcheck/handler.go:132 Health Check state change {"kind": "extension", "name": "health_check", "status": "unavailable"} panic: runtime error: invalid memory address or nil pointer dereference [signal 0xc0000005 code=0x0 addr=0x0 pc=0x30c4028] goroutine 1 [running]: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/loadscraper.stopSampling({0x0?, 0x6000103?}) github.com/open-telemetry/opentelemetry-collector-contrib/receiver/[email protected]/internal/scraper/loadscraper/load_scraper_windows.go:145 +0xc8 github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver/internal/scraper/loadscraper.(*scraper).shutdown(...) github.com/open-telemetry/opentelemetry-collector-contrib/receiver/[email protected]/internal/scraper/loadscraper/load_scraper.go:78 go.opentelemetry.io/collector/component.ShutdownFunc.Shutdown(...) go.opentelemetry.io/collector/[email protected]/component.go:84 go.opentelemetry.io/collector/receiver/scraperhelper.(*controller).Shutdown(0xc0000c3a40, {0x71b0d50, 0xc00006c0e0}) go.opentelemetry.io/collector/[email protected]/scraperhelper/scrapercontroller.go:149 +0x97 go.opentelemetry.io/collector/service/internal/graph.(*Graph).ShutdownAll(0x0?, {0x71b0d50, 0xc00006c0e0}) go.opentelemetry.io/collector/[email protected]/internal/graph/graph.go:358 +0xc9 go.opentelemetry.io/collector/service.(*Service).Shutdown(0xc0008373b0, {0x71b0d50, 0xc00006c0e0}) go.opentelemetry.io/collector/[email protected]/service.go:176 +0xd4 go.opentelemetry.io/collector/otelcol.(*Collector).setupConfigurationComponents(0xc000dc6180, {0x71b0d50, 0xc00006c0e0}) go.opentelemetry.io/collector/[email protected]/collector.go:187 +0x708 go.opentelemetry.io/collector/otelcol.(*Collector).Run(0xc000dc6180, {0x71b0d50, 0xc00006c0e0}) go.opentelemetry.io/collector/[email protected]/collector.go:221 +0x65 go.opentelemetry.io/collector/otelcol.NewCommand.func1(0xc00229cf00, {0x6636c91?, 0x0?, 0x3?}) go.opentelemetry.io/collector/[email protected]/command.go:27 +0x96 github.com/spf13/cobra.(*Command).execute(0xc00229cf00, {0xc0000ac050, 0x0, 0x3}) github.com/spf13/[email protected]/command.go:940 +0x862 github.com/spf13/cobra.(*Command).ExecuteC(0xc00229cf00) github.com/spf13/[email protected]/command.go:1068 +0x3bd github.com/spf13/cobra.(*Command).Execute(0xc0022dd860?) github.com/spf13/[email protected]/command.go:992 +0x19 main.runInteractive({{0xc0022dd860, 0xc0022ddad0, 0xc0022dda10, 0xc0022dd5f0, 0xc0022ddb00}, {{0x663630d, 0x7}, {0x0, 0x0}, {0x713fdf8, ...}}, ...}) github.com/signalfx/splunk-otel-collector/cmd/otelcol/main.go:100 +0x5d main.run({{0xc0022dd860, 0xc0022ddad0, 0xc0022dda10, 0xc0022dd5f0, 0xc0022ddb00}, {{0x663630d, 0x7}, {0x0, 0x0}, {0x713fdf8, ...}}, ...}) github.com/signalfx/splunk-otel-collector/cmd/otelcol/main_windows.go:33 +0x58 main.main() github.com/signalfx/splunk-otel-collector/cmd/otelcol/main.go:93 +0xcba ``` **Link to tracking Issue:** N/A **Testing:** Local test runs. **Documentation:** N/A
- Loading branch information