{"record":{"id":"e8d6786451c1b620","repo":"hyperledger/fabric","slug":"1-error-loading-msp-configuration-for-org-s-e8d678","errorCode":null,"errorMessage":"1 - Error loading MSP configuration for org %s","messagePattern":"1 - Error loading MSP configuration for org (.+?)","errorType":"validation","errorClass":null,"httpStatus":null,"severity":"error","filePath":"internal/configtxgen/encoder/encoder.go","lineNumber":384,"sourceCode":"\t}\n\n\tapplicationGroup.ModPolicy = channelconfig.AdminsPolicyKey\n\treturn applicationGroup, nil\n}\n\n// NewApplicationOrgGroup returns an application org component of the channel configuration.  It defines the crypto material for the organization\n// (its MSP) as well as its anchor peers for use by the gossip network.  It sets the mod_policy of all elements to \"Admins\".\nfunc NewApplicationOrgGroup(conf *genesisconfig.Organization) (*cb.ConfigGroup, error) {\n\tapplicationOrgGroup := protoutil.NewConfigGroup()\n\tapplicationOrgGroup.ModPolicy = channelconfig.AdminsPolicyKey\n\n\tif conf.SkipAsForeign {\n\t\treturn applicationOrgGroup, nil\n\t}\n\n\tmspConfig, err := msp.GetVerifyingMspConfig(conf.MSPDir, conf.ID, conf.MSPType)\n\tif err != nil {\n\t\treturn nil, errors.Wrapf(err, \"1 - Error loading MSP configuration for org %s\", conf.Name)\n\t}\n\n\tif err := AddPolicies(applicationOrgGroup, conf.Policies, channelconfig.AdminsPolicyKey); err != nil {\n\t\treturn nil, errors.Wrapf(err, \"error adding policies to application org group %s\", conf.Name)\n\t}\n\taddValue(applicationOrgGroup, channelconfig.MSPValue(mspConfig), channelconfig.AdminsPolicyKey)\n\n\tvar anchorProtos []*pb.AnchorPeer\n\tfor _, anchorPeer := range conf.AnchorPeers {\n\t\tanchorProtos = append(anchorProtos, &pb.AnchorPeer{\n\t\t\tHost: anchorPeer.Host,\n\t\t\tPort: int32(anchorPeer.Port),\n\t\t})\n\t}\n\n\t// Avoid adding an unnecessary anchor peers element when one is not required.  This helps\n\t// prevent a delta from the orderer system channel when computing more complex channel\n\t// creation transactions","sourceCodeStart":366,"sourceCodeEnd":402,"githubUrl":"https://github.com/hyperledger/fabric/blob/2736b63f8fd5932511d56fe68b7039d15977f7f6/internal/configtxgen/encoder/encoder.go#L366-L402","documentation":"Wrapping error in NewApplicationOrgGroup: msp.GetVerifyingMspConfig failed for the organization named in %s. The MSPDir is missing, unreadable, or does not contain a valid MSP structure (cacerts etc.), so the org's crypto material cannot be embedded in the channel config.","triggerScenarios":"Thrown at internal/configtxgen/encoder/encoder.go:384 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Verify the org's MSPDir path in configtx.yaml points to a valid MSP directory containing admincerts/cacerts","Regenerate crypto material with cryptogen or the correct CA tooling if it is missing","Check MSPType is 'bccsp' (the expected value for standard fabric deployments)"],"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"}