{"record":{"id":"c673296938cac446","repo":"hyperledger/fabric","slug":"could-not-create-application-group","errorCode":null,"errorMessage":"could not create application group","messagePattern":"could not create application group","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/configtxgen/encoder/encoder.go","lineNumber":167,"sourceCode":"\t\taddValue(channelGroup, channelconfig.ConsortiumValue(conf.Consortium), channelconfig.AdminsPolicyKey)\n\t}\n\n\tif len(conf.Capabilities) > 0 {\n\t\taddValue(channelGroup, channelconfig.CapabilitiesValue(conf.Capabilities), channelconfig.AdminsPolicyKey)\n\t}\n\n\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) {","sourceCodeStart":149,"sourceCodeEnd":185,"githubUrl":"https://github.com/hyperledger/fabric/blob/2736b63f8fd5932511d56fe68b7039d15977f7f6/internal/configtxgen/encoder/encoder.go#L149-L185","documentation":"Wrapping error in NewChannelGroup: NewApplicationGroup failed while building the application section of the channel config. Causes include invalid application org definitions, ACL values, capabilities, or policy errors; the wrapped error identifies the concrete failure.","triggerScenarios":"Thrown at internal/configtxgen/encoder/encoder.go:167 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Fix the failing application org or policy per the wrapped error message","Validate the Application section of the profile: organization MSPDirs, capabilities, and ACLs","Rerun configtxgen after correcting configtx.yaml"],"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"}