{"record":{"id":"22fdf979a5ff57af","repo":"hyperledger/fabric","slug":"could-not-create-consortiums-group","errorCode":null,"errorMessage":"could not create consortiums group","messagePattern":"could not create consortiums group","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/configtxgen/encoder/encoder.go","lineNumber":174,"sourceCode":"\tvar err error\n\tif conf.Orderer != nil {\n\t\tchannelGroup.Groups[channelconfig.OrdererGroupKey], err = NewOrdererGroup(conf.Orderer, conf.Capabilities)\n\t\tif err != nil {\n\t\t\treturn nil, errors.Wrap(err, \"could not create orderer group\")\n\t\t}\n\t}\n\n\tif conf.Application != nil {\n\t\tchannelGroup.Groups[channelconfig.ApplicationGroupKey], err = NewApplicationGroup(conf.Application)\n\t\tif err != nil {\n\t\t\treturn nil, errors.Wrap(err, \"could not create application group\")\n\t\t}\n\t}\n\n\tif conf.Consortiums != nil {\n\t\tchannelGroup.Groups[channelconfig.ConsortiumsGroupKey], err = NewConsortiumsGroup(conf.Consortiums)\n\t\tif err != nil {\n\t\t\treturn nil, errors.Wrap(err, \"could not create consortiums group\")\n\t\t}\n\t}\n\n\tchannelGroup.ModPolicy = channelconfig.AdminsPolicyKey\n\treturn channelGroup, nil\n}\n\n// NewOrdererGroup returns the orderer component of the channel configuration.  It defines parameters of the ordering service\n// about how large blocks should be, how frequently they should be emitted, etc. as well as the organizations of the ordering network.\n// It sets the mod_policy of all elements to \"Admins\".  This group is always present in any channel configuration.\nfunc NewOrdererGroup(conf *genesisconfig.Orderer, channelCapabilities map[string]bool) (*cb.ConfigGroup, error) {\n\tif conf.OrdererType == \"BFT\" && !channelCapabilities[\"V3_0\"] {\n\t\treturn nil, errors.Errorf(\"orderer type BFT must be used with V3_0 channel capability: %v\", channelCapabilities)\n\t}\n\tif len(conf.Addresses) > 0 && channelCapabilities[\"V3_0\"] {\n\t\treturn nil, errors.Errorf(\"global orderer endpoints exist, but can not be used with V3_0 capability: %v\", conf.Addresses)\n\t}\n","sourceCodeStart":156,"sourceCodeEnd":192,"githubUrl":"https://github.com/hyperledger/fabric/blob/2736b63f8fd5932511d56fe68b7039d15977f7f6/internal/configtxgen/encoder/encoder.go#L156-L192","documentation":"Wrapping error in NewChannelGroup: NewConsortiumsGroup failed while building the Consortiums section (used for orderer-generated channels). Usually a bad consortium member organization or MSP configuration; the wrapped error names the member that failed.","triggerScenarios":"Thrown at internal/configtxgen/encoder/encoder.go:174 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the consortium member organizations listed in the profile's Consortiums section per the wrapped error","Ensure each member org's MSPDir and ID are valid and that orgs are not marked SkipAsForeign incorrectly","Remove the Consortiums section if consortiums are not needed for the generated config"],"exampleFix":null,"handlingStrategy":"fallback","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"}