puppetlabs/puppet · error · SerializationError

JSON stream is not an array. It is a %{klass}

Error message

JSON stream is not an array. It is a %{klass}

What it means

Error "JSON stream is not an array. It is a %{klass}" thrown in puppetlabs/puppet.

Source

Thrown at lib/puppet/pops/serialization/json.rb:252

    end
    private :write_extension_payload

    def extension_indicator(ext)
      @verbose ? ext[1].name.sub(/^Puppet::Pops::Serialization::\w+::(.+)$/, '\1') : ext[0]
    end
    private :extension_indicator
  end

  class Unpacker
    def initialize(io)
      re_initialize(io)
      @type_registry = {}
      @nested = []
    end

    def re_initialize(io)
      parsed = parse_io(io)
      raise SerializationError, _("JSON stream is not an array. It is a %{klass}") % { klass: io.class.name } unless parsed.is_a?(Array)

      @etor_stack = [parsed.each]
    end

    def read
      obj = nil
      loop do
        raise SerializationError, _('Unexpected end of input') if @etor_stack.empty?

        etor = @etor_stack.last
        begin
          obj = etor.next
          break
        rescue StopIteration
          @etor_stack.pop
        end
      end
      if obj.is_a?(Array)

View on GitHub (pinned to e227c27540)

When it happens

Trigger: Thrown at lib/puppet/pops/serialization/json.rb:252 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/75b7bae9254b7fec. Report an issue: GitHub.