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

  1. Submit only CONFIG_UPDATE or ENDORSER_TRANSACTION messages via Broadcast
  2. 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.