{"record":{"id":"28e5fd5ce5f4ef56","repo":"hyperledger/fabric","slug":"bad-org-definition-for-org-s","errorCode":null,"errorMessage":"bad org definition for org %s","messagePattern":"bad org definition for org (.+?)","errorType":"exception","errorClass":null,"httpStatus":null,"severity":"error","filePath":"cmd/configtxgen/main.go","lineNumber":127,"sourceCode":"\t}\n\n\terr = protolator.DeepMarshalJSON(os.Stdout, env)\n\tif err != nil {\n\t\treturn fmt.Errorf(\"malformed transaction contents: %s\", err)\n\t}\n\n\treturn nil\n}\n\nfunc doPrintOrg(t *genesisconfig.TopLevel, printOrg string) error {\n\tfor _, org := range t.Organizations {\n\t\tif org.Name == printOrg {\n\t\t\tif len(org.OrdererEndpoints) > 0 {\n\t\t\t\t// An Orderer OrgGroup\n\t\t\t\tchannelCapabilities := t.Capabilities[\"Channel\"]\n\t\t\t\tog, err := encoder.NewOrdererOrgGroup(org, channelCapabilities)\n\t\t\t\tif err != nil {\n\t\t\t\t\treturn errors.Wrapf(err, \"bad org definition for org %s\", org.Name)\n\t\t\t\t}\n\n\t\t\t\tif err := protolator.DeepMarshalJSON(os.Stdout, &ordererext.DynamicOrdererOrgGroup{ConfigGroup: og}); err != nil {\n\t\t\t\t\treturn errors.Wrapf(err, \"malformed org definition for org: %s\", org.Name)\n\t\t\t\t}\n\t\t\t\treturn nil\n\t\t\t}\n\n\t\t\t// Otherwise assume it is an Application OrgGroup, where the encoder is not strict whether anchor peers exist or not\n\t\t\tag, err := encoder.NewApplicationOrgGroup(org)\n\t\t\tif err != nil {\n\t\t\t\treturn errors.Wrapf(err, \"bad org definition for org %s\", org.Name)\n\t\t\t}\n\t\t\tif err := protolator.DeepMarshalJSON(os.Stdout, &peerext.DynamicApplicationOrgGroup{ConfigGroup: ag}); err != nil {\n\t\t\t\treturn errors.Wrapf(err, \"malformed org definition for org: %s\", org.Name)\n\t\t\t}\n\t\t\treturn nil\n\t\t}","sourceCodeStart":109,"sourceCodeEnd":145,"githubUrl":"https://github.com/hyperledger/fabric/blob/2736b63f8fd5932511d56fe68b7039d15977f7f6/cmd/configtxgen/main.go#L109-L145","documentation":"encoder.NewOrdererOrgGroup failed while printing an org with -printOrg that has OrdererEndpoints defined: the org's definition (MSP config, endpoints, or capabilities context) is invalid for building an orderer org group.","triggerScenarios":"Thrown at cmd/configtxgen/main.go:127 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the org's MSP and orderer endpoint configuration in configtx.yaml","Check the wrapped error for the specific invalid field","Ensure the Channel capability referenced by the org is correctly specified"],"exampleFix":null,"handlingStrategy":"try-catch","validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"2736b63f8fd5932511d56fe68b7039d15977f7f6","analyzedAt":"2026-09-04T08:52:36.465Z","contentChangedAt":"2026-09-04T08:52:36.465Z","schemaVersion":2},"datasetVersion":"2026-09-08T10:18:20.063Z"}