hyperledger/fabric · error
message is of type that cannot be processed directly
Error message
message is of type that cannot be processed directly
What it means
BroadcastChannelSupport guard: ClassifyMsg returned an unknown/unhandled message classification for the envelope's channel header type. The submitted message type cannot be routed by the broadcast handler on this channel.
Source
Thrown at orderer/common/multichannel/registrar.go:326
func (r *Registrar) BroadcastChannelSupport(msg *cb.Envelope) (*cb.ChannelHeader, bool, *ChainSupport, error) {
chdr, err := protoutil.ChannelHeader(msg)
if err != nil {
return nil, false, nil, errors.WithMessage(err, "could not determine channel ID")
}
cs := r.GetChain(chdr.ChannelId)
// Used to be new channel creation with the system channel, but now channels are created with the channel
// participation API only, so it is just a wrong channel name.
if cs == nil {
return chdr, false, nil, types.ErrChannelNotExist
}
isConfig := false
switch cs.ClassifyMsg(chdr) {
case msgprocessor.ConfigUpdateMsg:
isConfig = true
case msgprocessor.ConfigMsg:
return chdr, false, nil, errors.New("message is of type that cannot be processed directly")
case msgprocessor.UnsupportedMsg:
return chdr, false, nil, errors.New("message is of type that is no longer supported")
default:
}
return chdr, isConfig, cs, nil
}
// GetConsensusChain retrieves the consensus.Chain of the channel, if it exists.
func (r *Registrar) GetConsensusChain(chainID string) consensus.Chain {
r.lock.RLock()
defer r.lock.RUnlock()
cs, exists := r.chains[chainID]
if !exists {
return nil
}
View on GitHub (pinned to 2736b63f8f)
Solutions
- Submit only CONFIG_UPDATE or ENDORSER_TRANSACTION messages via Broadcast
- Upgrade client SDKs that may emit legacy header types
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at orderer/common/multichannel/registrar.go:326 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/38323e7ff73adef9.
Report an issue: GitHub.