puppetlabs/puppet · error · Puppet::Error

Use of a Ruby Integer outside of Puppet Integer #{range_end}

Error message

Use of a Ruby Integer outside of Puppet Integer #{range_end} range, got '#{'0x%x' % o}'

What it means

Error "Use of a Ruby Integer outside of Puppet Integer #{range_end} range, got '#{'0x%x' % o}'" thrown in puppetlabs/puppet.

Source

Thrown at lib/puppet/pops/evaluator/runtime3_converter.rb:73

  #
  # @param o [Object]The value to convert
  # @param scope [Puppet::Parser::Scope] The scope to use when converting
  # @param undef_value [Object] The value that nil is converted to
  # @return [Object] The converted value
  #
  def convert(o, scope, undef_value)
    @convert_visitor.visit_this_2(self, o, scope, undef_value)
  end

  def convert_NilClass(o, scope, undef_value)
    @inner ? nil : undef_value
  end

  def convert_Integer(o, scope, undef_value)
    return o unless o < MIN_INTEGER || o > MAX_INTEGER

    range_end = o > MAX_INTEGER ? 'max' : 'min'
    raise Puppet::Error, "Use of a Ruby Integer outside of Puppet Integer #{range_end} range, got '#{'0x%x' % o}'"
  end

  def convert_BigDecimal(o, scope, undef_value)
    # transform to same value float value if possible without any rounding error
    f = o.to_f
    return f unless f != o

    raise Puppet::Error, "Use of a Ruby BigDecimal value outside Puppet Float range, got '#{o}'"
  end

  def convert_String(o, scope, undef_value)
    # Although wasteful, a dup is needed because user code may mutate these strings when applying
    # Resources. This does not happen when in server mode since it only uses Resources that are
    # in puppet core and those are all safe.
    o.frozen? && !Puppet.run_mode.server? ? o.dup : o
  end

  def convert_Object(o, scope, undef_value)

View on GitHub (pinned to e227c27540)

When it happens

Trigger: Thrown at lib/puppet/pops/evaluator/runtime3_converter.rb:73 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/38bd78c6f364e061. Report an issue: GitHub.