{"record":{"id":"7662fd775f33ee71","repo":"ruby/rubygems","slug":"e-explanation-extended","errorCode":null,"errorMessage":"#{e.explanation}\n\n#{extended}","messagePattern":"#\\{e\\.explanation\\}\n\n#\\{extended\\}","errorType":"exception","errorClass":"Gem::DependencyResolutionError","httpStatus":null,"severity":"error","filePath":"lib/rubygems/resolver.rb","lineNumber":190,"sourceCode":"\n    # Convert to Array<ActivationRequest>\n    needed_by_name = @needed.group_by(&:name)\n    requests = result.filter_map do |package, version|\n      next if Gem::PubGrub::Package.root?(package)\n      spec = spec_for(package.to_s, version)\n      dep = needed_by_name[package.to_s]&.first || Gem::Dependency.new(package.to_s)\n      dep_request = DependencyRequest.new(dep, nil)\n      ActivationRequest.new(spec, dep_request)\n    end\n\n    @cooldown_skipped = cooldown_skipped_summary(requests) if @cooldown&.active?\n\n    requests\n  rescue Gem::PubGrub::SolveFailure => e\n    extended = extract_extended_explanation(e.incompatibility)\n    if extended\n      message = \"#{e.explanation}\\n\\n#{extended}\"\n      raise Gem::DependencyResolutionError, Struct.new(:explanation).new(message)\n    else\n      raise Gem::DependencyResolutionError, e\n    end\n  end\n\n  # PubGrub source interface methods\n\n  def all_versions_for(package)\n    versions = @sorted_versions[package].reverse # highest first\n    name = package.to_s\n\n    if (skip_dep_gems = skip_gems[name]) && !skip_dep_gems.empty?\n      # Conservative mode: float the already-installed (skip) versions to the\n      # front so the solver prefers them. This sets *preference* only (it feeds\n      # the strategy's version-index map); it does not restrict availability, so\n      # every version stays selectable via versions_for. When an installed\n      # version is made impossible by a downstream conflict, the solver\n      # backtracks to a newer version instead of failing. Molinillo instead","sourceCodeStart":172,"sourceCodeEnd":208,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/rubygems/resolver.rb#L172-L208","documentation":"Error \"#{e.explanation}\n\n#{extended}\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/rubygems/resolver.rb:190 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["Read the resolver explanation in the output and relax conflicting version constraints","Run `bundle update <gem>` or `gem update <gem>` to allow newer compatible versions"],"exampleFix":null,"handlingStrategy":null,"validationCode":null,"typeGuard":null,"tryCatchPattern":null,"preventionTips":[],"tags":[],"backgroundTag":null,"analyzedSha":"86cbb817a38ce8477b181c17467a703ded3f2be8","analyzedAt":"2026-08-23T06:27:48.159Z","schemaVersion":2},"datasetVersion":"2026-08-23T08:06:27.607Z"}