ruby/rubygems · error · Psych::BadAlias

exceeded maximum alias resolutions (#{MAX_ALIAS_RESOLUTIONS}

Error message

exceeded maximum alias resolutions (#{MAX_ALIAS_RESOLUTIONS})

What it means

Error "exceeded maximum alias resolutions (#{MAX_ALIAS_RESOLUTIONS})" thrown in ruby/rubygems.

Source

Thrown at lib/rubygems/yaml_serializer.rb:504

      private

      def build_node(node)
        case node
        when nil then nil
        when AliasRef then resolve_alias(node)
        when Scalar then store_anchor(node.anchor, node.value)
        when Mapping then build_mapping(node)
        when Sequence then store_anchor(node.anchor, node.items.map {|item| build_node(item) })
        else node # already a Ruby object
        end
      end

      def resolve_alias(node)
        raise Psych::AliasesNotEnabled unless @aliases
        @alias_count += 1
        if @alias_count > MAX_ALIAS_RESOLUTIONS
          raise Psych::BadAlias, "exceeded maximum alias resolutions (#{MAX_ALIAS_RESOLUTIONS})"
        end
        unless @anchor_values.key?(node.name)
          klass = defined?(Psych::AnchorNotDefined) ? Psych::AnchorNotDefined : Psych::BadAlias
          raise klass, "An alias referenced an unknown anchor: #{node.name}"
        end
        @anchor_values.fetch(node.name)
      end

      def store_anchor(name, value)
        @anchor_values[name] = value if name
        value
      end

      def build_mapping(node)
        validate_tag!(node.tag) if node.tag

        result = case node.tag
                 when "!ruby/object:Gem::Version"

View on GitHub (pinned to 86cbb817a3)

Solutions

  1. Reduce YAML aliases in the metadata; the document exceeds the maximum alias resolutions
  2. Re-download/rebuild the gem if the metadata was generated incorrectly

When it happens

Trigger: Thrown at lib/rubygems/yaml_serializer.rb:504 when the library encounters an invalid state.

Common situations: See trigger scenarios.


AI-assisted analysis of ruby/rubygems@86cbb817a3 (2026-08-23). Data as JSON: /api/errors/d7a882ff55c97056. Report an issue: GitHub.