{"record":{"id":"9944ebaedefc57bd","repo":"t8y2/dbx","slug":"start-rocketmq-endpoint-proxy-w","errorCode":null,"errorMessage":"start RocketMQ endpoint proxy: %w","messagePattern":"start RocketMQ endpoint proxy: %w","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"agents/drivers/rocketmq/routing.go","lineNumber":78,"sourceCode":"\tif endpoint := manager.byOriginal[original]; endpoint != nil {\n\t\taddress := endpoint.listener.Addr().String()\n\t\tmanager.mu.RUnlock()\n\t\treturn address, nil\n\t}\n\tmanager.mu.RUnlock()\n\n\tmanager.mu.Lock()\n\tdefer manager.mu.Unlock()\n\tif manager.closed {\n\t\treturn \"\", fmt.Errorf(\"RocketMQ proxy manager is closed\")\n\t}\n\tif endpoint := manager.byOriginal[original]; endpoint != nil {\n\t\treturn endpoint.listener.Addr().String(), nil\n\t}\n\ttargets, fallback := manager.routeTargetsLocked(original, kind)\n\tlistener, err := net.Listen(\"tcp\", \"127.0.0.1:0\")\n\tif err != nil {\n\t\treturn \"\", fmt.Errorf(\"start RocketMQ endpoint proxy: %w\", err)\n\t}\n\tendpoint := &proxyEndpoint{original: original, targets: targets, fallback: fallback, listener: listener, manager: manager}\n\tlocal := listener.Addr().String()\n\tmanager.byOriginal[original] = endpoint\n\tmanager.originalByLocal[local] = original\n\tgo endpoint.serve()\n\treturn local, nil\n}\n\nfunc (manager *proxyManager) routeTargetsLocked(original string, kind proxyTargetKind) ([]string, bool) {\n\tif kind == proxyTargetNameServer || manager.config.SocksProxy != nil {\n\t\treturn []string{original}, false\n\t}\n\tif manager.config.BrokerAddr != \"\" {\n\t\treturn []string{manager.config.BrokerAddr}, false\n\t}\n\thost, port := parseSocketAddress(original)\n\tif port == \"\" || !isLikelyUnreachableBrokerHost(host) {","sourceCodeStart":60,"sourceCodeEnd":96,"githubUrl":"https://github.com/t8y2/dbx/blob/c0390bff16418b651f4728520d99adf8ce48829a/agents/drivers/rocketmq/routing.go#L60-L96","documentation":"Returned by proxyManager.ProxyFor in the rocketmq driver when binding a new local TCP listener (127.0.0.1:0) for routing a remote broker endpoint fails at net.Listen. Without the local listener the proxy cannot forward traffic, so endpoint setup fails with the OS-level cause wrapped.","triggerScenarios":"Thrown at agents/drivers/rocketmq/routing.go:78 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Check the wrapped error for the bind cause (fd exhaustion, memory limits)","Reduce the number of distinct broker endpoints being proxied","Free file descriptors / raise ulimit if many endpoints are in use","Retry after clearing leaked listeners from previous runs"],"exampleFix":null,"handlingStrategy":"fallback","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"c0390bff16418b651f4728520d99adf8ce48829a","analyzedAt":"2026-09-05T23:05:10.900Z","contentChangedAt":"2026-09-05T23:05:10.900Z","schemaVersion":2},"datasetVersion":"2026-09-14T05:17:10.506Z"}