puppetlabs/puppet · error · SerializationError

Feature count mismatch for %{value0}. Expected %{required_co

Error message

Feature count mismatch for %{value0}. Expected %{required_count} - %{max}, actual %{value_count}

What it means

Error "Feature count mismatch for %{value0}. Expected %{required_count} - %{max}, actual %{value_count}" thrown in puppetlabs/puppet.

Source

Thrown at lib/puppet/pops/serialization/object.rb:17

# frozen_string_literal: true

require_relative 'instance_reader'
require_relative 'instance_writer'

module Puppet::Pops
module Serialization
# Instance reader for objects that implement {Types::PuppetObject}
# @api private
class ObjectReader
  include InstanceReader

  def read(type, impl_class, value_count, deserializer)
    (names, types, required_count) = type.parameter_info(impl_class)
    max = names.size
    unless value_count >= required_count && value_count <= max
      raise Serialization::SerializationError, _("Feature count mismatch for %{value0}. Expected %{required_count} - %{max}, actual %{value_count}") % { value0: impl_class.name, required_count: required_count, max: max, value_count: value_count }
    end

    # Deserializer must know about this instance before we read its attributes
    val = deserializer.remember(impl_class.allocate)
    args = Array.new(value_count) { deserializer.read }
    types.each_with_index do |ptype, index|
      if index < args.size
        arg = args[index]
        Types::TypeAsserter.assert_instance_of(nil, ptype, arg) { "#{type.name}[#{names[index]}]" } unless arg == :default
      else
        attr = type[names[index]]
        raise Serialization::SerializationError, _("Missing default value for %{type_name}[%{name}]") % { type_name: type.name, name: names[index] } unless attr && attr.value?

        args << attr.value
      end
    end
    val.send(:initialize, *args)
    val

View on GitHub (pinned to e227c27540)

When it happens

Trigger: Thrown at lib/puppet/pops/serialization/object.rb:17 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of puppetlabs/puppet@e227c27540 (2026-08-21). Data as JSON: /api/errors/07386884efe051cb. Report an issue: GitHub.