{"record":{"id":"344919c6561c6e7b","repo":"ruby/rubygems","slug":"unknown-marshal-type-discriminator-type-chr-insp","errorCode":null,"errorMessage":"Unknown marshal type discriminator #{type.chr.inspect} (#{type})","messagePattern":"Unknown marshal type discriminator #(.+?) \\(#(.+?)\\)","errorType":"exception","errorClass":"Gem::SafeMarshal::Reader::Error","httpStatus":null,"severity":"error","filePath":"lib/rubygems/safe_marshal/reader.rb","lineNumber":140,"sourceCode":"        when 85 then read_user_marshal # ?U\n        when 91 then read_array # ?[\n        when 102 then read_float # ?f\n        when 105 then Elements::Integer.new(read_integer) # ?i\n        when 108 then read_bignum # ?l\n        when 111 then read_object # ?o\n        when 117 then read_user_defined # ?u\n        when 123 then read_hash # ?{\n        when 125 then read_hash_with_default_value # ?}\n        when 101 then read_extended_object # ?e\n        when 99 then read_class # ?c\n        when 109 then read_module # ?m\n        when 77 then read_class_or_module # ?M\n        when 100 then read_data # ?d\n        when 47 then read_regexp # ?/\n        when 83 then read_struct # ?S\n        when 67 then read_user_class # ?C\n        else\n          raise Error, \"Unknown marshal type discriminator #{type.chr.inspect} (#{type})\"\n        end\n      end\n\n      STRING_E_SYMBOL = Elements::Symbol.new(\"E\").freeze\n      private_constant :STRING_E_SYMBOL\n\n      def read_symbol\n        len = read_integer\n        if len == 1\n          byte = read_byte\n          if byte == 69 # ?E\n            STRING_E_SYMBOL\n          else\n            Elements::Symbol.new(byte.chr)\n          end\n        else\n          name = read_bytes(len)\n          Elements::Symbol.new(name)","sourceCodeStart":122,"sourceCodeEnd":158,"githubUrl":"https://github.com/ruby/rubygems/blob/86cbb817a38ce8477b181c17467a703ded3f2be8/lib/rubygems/safe_marshal/reader.rb#L122-L158","documentation":"Error \"Unknown marshal type discriminator #{type.chr.inspect} (#{type})\" thrown in ruby/rubygems.","triggerScenarios":"Thrown at lib/rubygems/safe_marshal/reader.rb:140 when the library encounters an invalid state.","commonSituations":"See trigger scenarios.","solutions":["The marshal stream contains an unknown type tag; the file is corrupt or tampered — re-download it"],"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"}