{"record":{"id":"c545c9eac4d9d32f","repo":"ruby/rubygems","slug":"expected-symbol-or-symbol-link-got-element-insp","errorCode":null,"errorMessage":"Expected symbol or symbol link, got #{element.inspect} @ #{formatted_stack.join(\".\")}","messagePattern":"Expected symbol or symbol link, got #(.+?) @ #(.+?)","errorType":"exception","errorClass":"Gem::SafeMarshal::Visitors::ToRuby::FormatError","httpStatus":null,"severity":"error","filePath":"lib/rubygems/safe_marshal/visitors/to_ruby.rb","lineNumber":343,"sourceCode":"        when Elements::Symbol\n          sym = element.name.to_sym\n          @symbols << sym\n          sym\n        when Elements::SymbolLink\n          visit_Gem_SafeMarshal_Elements_SymbolLink(element)\n        end\n      end\n\n      # This is a hot method, so avoid respond_to? checks on every invocation\n      if :read.respond_to?(:name)\n        def resolve_symbol_name(element)\n          case element\n          when Elements::Symbol\n            element.name\n          when Elements::SymbolLink\n            visit_Gem_SafeMarshal_Elements_SymbolLink(element).name\n          else\n            raise FormatError, \"Expected symbol or symbol link, got #{element.inspect} @ #{formatted_stack.join(\".\")}\"\n          end\n        end\n      else\n        def resolve_symbol_name(element)\n          case element\n          when Elements::Symbol\n            element.name\n          when Elements::SymbolLink\n            visit_Gem_SafeMarshal_Elements_SymbolLink(element).to_s\n          else\n            raise FormatError, \"Expected symbol or symbol link, got #{element.inspect} @ #{formatted_stack.join(\".\")}\"\n          end\n        end\n      end\n\n      def register_object(o)\n        @objects << o\n        o","sourceCodeStart":325,"sourceCodeEnd":361,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/rubygems/safe_marshal/visitors/to_ruby.rb#L325-L361","documentation":"Error \"Expected symbol or symbol link, got #{element.inspect} @ #{formatted_stack.join(\".\")}\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/rubygems/safe_marshal/visitors/to_ruby.rb:343 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The marshal data is corrupt (bad symbol entry); re-download the gem or metadata file"],"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"}