hyperledger/fabric · error
could not find policy %s
Error message
could not find policy %s
What it means
SigFilter.Apply guard: the channel's PolicyManager has no policy registered under the selected policy name (the Writers policy, or the maintenance-mode Writers policy during consensus-type migration). The channel config lacks a required policy — a malformed or incomplete channel configuration.
Source
Thrown at orderer/common/msgprocessor/sigfilter.go:71
logger.Panic("Programming error: orderer config not found")
}
signedData, err := protoutil.EnvelopeAsSignedData(message)
if err != nil {
return fmt.Errorf("could not convert message to signedData: %s", err)
}
// In maintenance mode, we typically require the signature of /Channel/Orderer/Writers.
// This will filter out configuration changes that are not related to consensus-type migration
// (e.g on /Channel/Application), and will block Deliver requests from peers (which are normally /Channel/Readers).
policyName := sf.normalPolicyName
if ordererConf.ConsensusState() == orderer.ConsensusType_STATE_MAINTENANCE {
policyName = sf.maintenancePolicyName
}
policy, ok := sf.support.PolicyManager().GetPolicy(policyName)
if !ok {
return fmt.Errorf("could not find policy %s", policyName)
}
err = policy.EvaluateSignedData(signedData)
if err != nil {
logger.Warnw("SigFilter evaluation failed", "error", err.Error(), "ConsensusState", ordererConf.ConsensusState(), "policyName", policyName, "signingIdentity", protoutil.LogMessageForSerializedIdentities(signedData))
return errors.Wrap(errors.WithStack(ErrPermissionDenied), err.Error())
}
return nil
}
View on GitHub (pinned to 2736b63f8f)
Solutions
- Fix the channel config so the referenced policy (e.g. /Channel/Orderer/Writers) exists
- Re-create or correct the channel with a well-formed configtx
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at orderer/common/msgprocessor/sigfilter.go:71 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/a5287412585782e1.
Report an issue: GitHub.