{"record":{"id":"246b1f874779fcac","repo":"ipfs/kubo","slug":"unable-to-initialize-libp2p-due-to-conflicting-re-246b1f","errorCode":null,"errorMessage":"\nUnable to initialize libp2p due to conflicting resource manager limit configuration.\nresource manager System.ConnsInbound (%d) must be bigger than ConnMgr.HighWater (%d)\nSee: https://github.com/ipfs/kubo/blob/master/docs/libp2p-resource-management.md#how-does-the-resource-manager-resourcemgr-relate-to-the-connection-manager-connmgr\n","messagePattern":"\nUnable to initialize libp2p due to conflicting resource manager limit configuration\\.\nresource manager System\\.ConnsInbound \\((.+?)\\) must be bigger than ConnMgr\\.HighWater \\((.+?)\\)\nSee: https://github\\.com/ipfs/kubo/blob/master/docs/libp2p-resource-management\\.md#how-does-the-resource-manager-resourcemgr-relate-to-the-connection-manager-connmgr\n","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"core/node/libp2p/rcmgr.go","lineNumber":477,"sourceCode":"\t\t// as it may make sense for it to be (and stay) as \"blockAll\"\n\t\t// so that only connections within the allowlist of multiaddrs get established.\n\t\treturn nil\n\t}\n\n\trcm := concreteLimits.ToPartialLimitConfig()\n\n\thighWater := cfg.ConnMgr.HighWater.WithDefault(config.DefaultConnMgrHighWater)\n\tif (rcm.System.Conns > rcmgr.DefaultLimit || rcm.System.Conns == rcmgr.BlockAllLimit) && int64(rcm.System.Conns) <= highWater {\n\t\t// nolint\n\t\treturn fmt.Errorf(`\nUnable to initialize libp2p due to conflicting resource manager limit configuration.\nresource manager System.Conns (%d) must be bigger than ConnMgr.HighWater (%d)\nSee: https://github.com/ipfs/kubo/blob/master/docs/libp2p-resource-management.md#how-does-the-resource-manager-resourcemgr-relate-to-the-connection-manager-connmgr\n`, rcm.System.Conns, highWater)\n\t}\n\tif (rcm.System.ConnsInbound > rcmgr.DefaultLimit || rcm.System.ConnsInbound == rcmgr.BlockAllLimit) && int64(rcm.System.ConnsInbound) <= highWater {\n\t\t// nolint\n\t\treturn fmt.Errorf(`\nUnable to initialize libp2p due to conflicting resource manager limit configuration.\nresource manager System.ConnsInbound (%d) must be bigger than ConnMgr.HighWater (%d)\nSee: https://github.com/ipfs/kubo/blob/master/docs/libp2p-resource-management.md#how-does-the-resource-manager-resourcemgr-relate-to-the-connection-manager-connmgr\n`, rcm.System.ConnsInbound, highWater)\n\t}\n\tif (rcm.System.Streams > rcmgr.DefaultLimit || rcm.System.Streams == rcmgr.BlockAllLimit) && int64(rcm.System.Streams) <= highWater {\n\t\t// nolint\n\t\treturn fmt.Errorf(`\nUnable to initialize libp2p due to conflicting resource manager limit configuration.\nresource manager System.Streams (%d) must be bigger than ConnMgr.HighWater (%d)\nSee: https://github.com/ipfs/kubo/blob/master/docs/libp2p-resource-management.md#how-does-the-resource-manager-resourcemgr-relate-to-the-connection-manager-connmgr\n`, rcm.System.Streams, highWater)\n\t}\n\tif (rcm.System.StreamsInbound > rcmgr.DefaultLimit || rcm.System.StreamsInbound == rcmgr.BlockAllLimit) && int64(rcm.System.StreamsInbound) <= highWater {\n\t\t// nolint\n\t\treturn fmt.Errorf(`\nUnable to initialize libp2p due to conflicting resource manager limit configuration.\nresource manager System.StreamsInbound (%d) must be bigger than ConnMgr.HighWater (%d)","sourceCodeStart":459,"sourceCodeEnd":495,"githubUrl":"https://github.com/ipfs/kubo/blob/329838acdfafae224582930457efe80aa217afc0/core/node/libp2p/rcmgr.go#L459-L495","documentation":"Error \"\nUnable to initialize libp2p due to conflicting resource manager limit configuration.\nresource manager System.ConnsInbound (%d) must be bigger than ConnMgr.HighWater (%d)\nSee: https://github.com/ipfs/kubo/blob/master/docs/libp2p-resource-management.md#how-does-the-resource-manager-resourcemgr-relate-to-the-connection-manager-connmgr\n\" thrown in ipfs/kubo.","triggerScenarios":"Thrown at core/node/libp2p/rcmgr.go:477 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Raise Swarm.ResourceMgr.Limits.System.ConnsInbound above Swarm.ConnMgr.HighWater","Or lower Swarm.ConnMgr.HighWater","Or disable the connection manager with Swarm.ConnMgr.Type=none","Or set a Swarm.ResourceMgr.Allowlist, which skips this check for DoS-defense setups"],"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"}