{"record":{"id":"e0a42cd3ae601b32","repo":"ipfs/kubo","slug":"provider-w","errorCode":null,"errorMessage":"provider: %w","messagePattern":"provider: %w","errorType":"error_code","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/node/provider.go","lineNumber":1165,"sourceCode":"\t\t\t\t\t\treturn true\n\t\t\t\t\t}\n\t\t\t\t}\n\t\t\t}\n\t\t}\n\t}\n\treturn false\n}\n\n// OnlineProviders groups units managing provide routing records online\nfunc OnlineProviders(provide bool, cfg *config.Config) fx.Option {\n\tif !provide {\n\t\treturn OfflineProviders()\n\t}\n\n\tproviderStrategy := cfg.Provide.Strategy.WithDefault(config.DefaultProvideStrategy)\n\n\tif _, err := config.ParseProvideStrategy(providerStrategy); err != nil {\n\t\treturn fx.Error(fmt.Errorf(\"provider: %w\", err))\n\t}\n\n\tbloomFPRate := uint(cfg.Provide.BloomFPRate.WithDefault(config.DefaultProvideBloomFPRate))\n\n\topts := []fx.Option{\n\t\tfx.Provide(setReproviderKeyProvider(providerStrategy, bloomFPRate)),\n\t}\n\n\tsweepEnabled := cfg.Provide.DHT.SweepEnabled.WithDefault(config.DefaultProvideDHTSweepEnabled)\n\tdhtAvailable := hasDHTRouting(cfg)\n\n\t// Use SweepingProvider only when both sweep is enabled AND DHT is available.\n\t// For HTTP-only routing (e.g., Routing.Type=\"custom\" with only HTTP routers),\n\t// fall back to LegacyProvider which works with ProvideManyRouter.\n\t// See https://github.com/ipfs/kubo/issues/11089\n\tif sweepEnabled && dhtAvailable {\n\t\topts = append(opts, SweepingProviderOpt(cfg))\n\t} else {","sourceCodeStart":1147,"sourceCodeEnd":1183,"githubUrl":"https://github.com/ipfs/kubo/blob/329838acdfafae224582930457efe80aa217afc0/core/node/provider.go#L1147-L1183","documentation":"fx wiring error at node startup: the configured Provide.Strategy value does not parse as a valid strategy (config.ParseProvideStrategy failed). The wrapped error names the invalid value; the node refuses to start with an unknown provide strategy.","triggerScenarios":"Thrown at core/node/provider.go:1165 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Set Provide.Strategy to a valid value ('all' or 'pinned') in the config","Remove the key to fall back to the default strategy","Reference: docs/config.md Provide section"],"exampleFix":null,"handlingStrategy":"validation","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"329838acdfafae224582930457efe80aa217afc0","analyzedAt":"2026-09-03T18:30:52.135Z","contentChangedAt":"2026-09-03T18:30:52.135Z","schemaVersion":2},"datasetVersion":"2026-09-11T00:17:11.886Z"}