{"record":{"id":"07386884efe051cb","repo":"puppetlabs/puppet","slug":"feature-count-mismatch-for-value0-expected-r","errorCode":null,"errorMessage":"Feature count mismatch for %{value0}. Expected %{required_count} - %{max}, actual %{value_count}","messagePattern":"Feature count mismatch for %(.+?)\\. Expected %(.+?) - %(.+?), actual %(.+?)","errorType":"exception","errorClass":"SerializationError","httpStatus":null,"severity":"error","filePath":"lib/puppet/pops/serialization/object.rb","lineNumber":17,"sourceCode":"# frozen_string_literal: true\n\nrequire_relative 'instance_reader'\nrequire_relative 'instance_writer'\n\nmodule Puppet::Pops\nmodule Serialization\n# Instance reader for objects that implement {Types::PuppetObject}\n# @api private\nclass ObjectReader\n  include InstanceReader\n\n  def read(type, impl_class, value_count, deserializer)\n    (names, types, required_count) = type.parameter_info(impl_class)\n    max = names.size\n    unless value_count >= required_count && value_count <= max\n      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 }\n    end\n\n    # Deserializer must know about this instance before we read its attributes\n    val = deserializer.remember(impl_class.allocate)\n    args = Array.new(value_count) { deserializer.read }\n    types.each_with_index do |ptype, index|\n      if index < args.size\n        arg = args[index]\n        Types::TypeAsserter.assert_instance_of(nil, ptype, arg) { \"#{type.name}[#{names[index]}]\" } unless arg == :default\n      else\n        attr = type[names[index]]\n        raise Serialization::SerializationError, _(\"Missing default value for %{type_name}[%{name}]\") % { type_name: type.name, name: names[index] } unless attr && attr.value?\n\n        args << attr.value\n      end\n    end\n    val.send(:initialize, *args)\n    val","sourceCodeStart":1,"sourceCodeEnd":35,"githubUrl":"https://github.com/puppetlabs/puppet/blob/e227c27540975c25aa22d533a52424a9d2fc886a/lib/puppet/pops/serialization/object.rb#L1-L35","documentation":"Error \"Feature count mismatch for %{value0}. Expected %{required_count} - %{max}, actual %{value_count}\" thrown in puppetlabs/puppet.","triggerScenarios":"Thrown at lib/puppet/pops/serialization/object.rb:17 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":[],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"e227c27540975c25aa22d533a52424a9d2fc886a","analyzedAt":"2026-08-21T20:49:46.650Z","schemaVersion":2},"datasetVersion":"2026-08-21T23:17:16.201Z"}