hyperledger/fabric · error

failed to deserialize values

Error message

failed to deserialize values

What it means

Wrapped error from DeserializeProtoValuesFromGroup while reading the standardized values (MSP, anchor peers, capabilities) out of an application org's config group; the wrapped error names the value that failed to decode.

Source

Thrown at common/channelconfig/applicationorg.go:44

// ApplicationOrgConfig defines the configuration for an application org
type ApplicationOrgConfig struct {
	*OrganizationConfig
	protos *ApplicationOrgProtos
	name   string
}

// NewApplicationOrgConfig creates a new config for an application org
func NewApplicationOrgConfig(id string, orgGroup *cb.ConfigGroup, mspConfig *MSPConfigHandler) (*ApplicationOrgConfig, error) {
	if len(orgGroup.Groups) > 0 {
		return nil, fmt.Errorf("ApplicationOrg config does not allow sub-groups")
	}

	protos := &ApplicationOrgProtos{}
	orgProtos := &OrganizationProtos{}

	if err := DeserializeProtoValuesFromGroup(orgGroup, protos, orgProtos); err != nil {
		return nil, errors.Wrap(err, "failed to deserialize values")
	}

	aoc := &ApplicationOrgConfig{
		name:   id,
		protos: protos,
		OrganizationConfig: &OrganizationConfig{
			name:             id,
			protos:           orgProtos,
			mspConfigHandler: mspConfig,
		},
	}

	if err := aoc.Validate(); err != nil {
		return nil, err
	}

	return aoc, nil
}

View on GitHub (pinned to 2736b63f8f)

Solutions

  1. Inspect the wrapped error for the specific key/protobuf that failed
  2. Fix the corresponding value in the org's config and resubmit the config update
Defensive patterns

Strategy: try-catch

When it happens

Trigger: Thrown at common/channelconfig/applicationorg.go:44 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/3b00cc8015d5f18e. Report an issue: GitHub.