{"record":{"id":"df46f22aa75a3531","repo":"puppetlabs/puppet","slug":"use-of-a-ruby-bigdecimal-value-outside-puppet-floa","errorCode":null,"errorMessage":"Use of a Ruby BigDecimal value outside Puppet Float range, got '#{o}'","messagePattern":"Use of a Ruby BigDecimal value outside Puppet Float range, got '#(.+?)'","errorType":"exception","errorClass":"Puppet::Error","httpStatus":null,"severity":"error","filePath":"lib/puppet/pops/evaluator/runtime3_converter.rb","lineNumber":81,"sourceCode":"  end\n\n  def convert_NilClass(o, scope, undef_value)\n    @inner ? nil : undef_value\n  end\n\n  def convert_Integer(o, scope, undef_value)\n    return o unless o < MIN_INTEGER || o > MAX_INTEGER\n\n    range_end = o > MAX_INTEGER ? 'max' : 'min'\n    raise Puppet::Error, \"Use of a Ruby Integer outside of Puppet Integer #{range_end} range, got '#{'0x%x' % o}'\"\n  end\n\n  def convert_BigDecimal(o, scope, undef_value)\n    # transform to same value float value if possible without any rounding error\n    f = o.to_f\n    return f unless f != o\n\n    raise Puppet::Error, \"Use of a Ruby BigDecimal value outside Puppet Float range, got '#{o}'\"\n  end\n\n  def convert_String(o, scope, undef_value)\n    # Although wasteful, a dup is needed because user code may mutate these strings when applying\n    # Resources. This does not happen when in server mode since it only uses Resources that are\n    # in puppet core and those are all safe.\n    o.frozen? && !Puppet.run_mode.server? ? o.dup : o\n  end\n\n  def convert_Object(o, scope, undef_value)\n    o\n  end\n\n  def convert_Array(o, scope, undef_value)\n    ic = @inner_converter\n    o.map { |x| ic.convert(x, scope, undef_value) }\n  end\n","sourceCodeStart":63,"sourceCodeEnd":99,"githubUrl":"https://github.com/puppetlabs/puppet/blob/e227c27540975c25aa22d533a52424a9d2fc886a/lib/puppet/pops/evaluator/runtime3_converter.rb#L63-L99","documentation":"Error \"Use of a Ruby BigDecimal value outside Puppet Float range, got '#{o}'\" thrown in puppetlabs/puppet.","triggerScenarios":"Thrown at lib/puppet/pops/evaluator/runtime3_converter.rb:81 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"}