hyperledger/fabric · error
could not create application group
Error message
could not create application group
What it means
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.
Source
Thrown at internal/configtxgen/encoder/encoder.go:167
addValue(channelGroup, channelconfig.ConsortiumValue(conf.Consortium), channelconfig.AdminsPolicyKey)
}
if len(conf.Capabilities) > 0 {
addValue(channelGroup, channelconfig.CapabilitiesValue(conf.Capabilities), channelconfig.AdminsPolicyKey)
}
var err error
if conf.Orderer != nil {
channelGroup.Groups[channelconfig.OrdererGroupKey], err = NewOrdererGroup(conf.Orderer, conf.Capabilities)
if err != nil {
return nil, errors.Wrap(err, "could not create orderer group")
}
}
if conf.Application != nil {
channelGroup.Groups[channelconfig.ApplicationGroupKey], err = NewApplicationGroup(conf.Application)
if err != nil {
return nil, errors.Wrap(err, "could not create application group")
}
}
if conf.Consortiums != nil {
channelGroup.Groups[channelconfig.ConsortiumsGroupKey], err = NewConsortiumsGroup(conf.Consortiums)
if err != nil {
return nil, errors.Wrap(err, "could not create consortiums group")
}
}
channelGroup.ModPolicy = channelconfig.AdminsPolicyKey
return channelGroup, nil
}
// NewOrdererGroup returns the orderer component of the channel configuration. It defines parameters of the ordering service
// about how large blocks should be, how frequently they should be emitted, etc. as well as the organizations of the ordering network.
// It sets the mod_policy of all elements to "Admins". This group is always present in any channel configuration.
func NewOrdererGroup(conf *genesisconfig.Orderer, channelCapabilities map[string]bool) (*cb.ConfigGroup, error) {View on GitHub (pinned to 2736b63f8f)
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
Defensive patterns
Strategy: fallback
When it happens
Trigger: Thrown at internal/configtxgen/encoder/encoder.go:167 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of hyperledger/fabric@2736b63f8f (2026-09-04).
Data as JSON: /api/errors/c673296938cac446.
Report an issue: GitHub.