castwide / solargraph

A Ruby language server.
https://solargraph.org
MIT License
1.89k stars 158 forks source link

gsub invalid byte sequence in UTF-8 #504

Closed halilim closed 2 years ago

halilim commented 2 years ago

I've attached the zipped file in case the invalid character gets lost in the description.

$ ruby -v
ruby 3.0.2p107 (2021-07-07 revision 0db68f0233) [x86_64-darwin20]

$ solargraph -v
0.44.1

$ ls
test.rb

$ cat test.rb
#� Foo
bar = 1

$ solargraph scan
/Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/source.rb:363:in `gsub': invalid byte sequence in UTF-8 (ArgumentError)
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/source.rb:363:in `block in stringify_comment_array'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/source.rb:361:in `each'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/source.rb:361:in `stringify_comment_array'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/source.rb:258:in `comments_for'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/parser/node_processor/base.rb:58:in `comments_for'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/parser/rubyvm/node_processors/lvasgn_node.rb:18:in `process'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/parser/node_processor.rb:38:in `process'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/parser/rubyvm/class_methods.rb:29:in `map'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/source_map/mapper.rb:26:in `map'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/source_map/mapper.rb:50:in `map'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/source_map.rb:157:in `map'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/library.rb:455:in `block in map!'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/library.rb:454:in `each'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/library.rb:454:in `map!'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/api_map.rb:119:in `load'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/shell.rb:177:in `block in scan'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/3.0.0/benchmark.rb:293:in `measure'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/lib/solargraph/shell.rb:176:in `scan'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/thor-1.1.0/lib/thor/command.rb:27:in `run'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/thor-1.1.0/lib/thor/invocation.rb:127:in `invoke_command'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/thor-1.1.0/lib/thor.rb:392:in `dispatch'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/thor-1.1.0/lib/thor/base.rb:485:in `start'
    from /Users/halil/.rbenv/versions/3.0.2/lib/ruby/gems/3.0.0/gems/solargraph-0.44.1/bin/solargraph:5:in `<top (required)>'
    from /Users/halil/.rbenv/versions/3.0.2/bin/solargraph:25:in `load'
    from /Users/halil/.rbenv/versions/3.0.2/bin/solargraph:25:in `<main>'
castwide commented 2 years ago

Confirmed. It'll be fixed in the next patch release.

castwide commented 2 years ago

Fixed in v0.44.2.

halilim commented 2 years ago

Confirmed the fix 🎉 Thank you very much!