elastic / jarvis

Logstash's ChatOps bot, J.A.R.V.I.S.
41 stars 28 forks source link

Non US-ASCII Chars in PR Description Break Merge Command #81

Closed original-brownbear closed 7 years ago

original-brownbear commented 7 years ago

Merging a PR description that contains non-US-ASCII characters leads to this error being posted to Slack:

sadpanda) An error occurred in merge: ArgumentError - invalid byte sequence in US-ASCII
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/mbox-0.1.0/lib/mbox/mail.rb:55:in `match'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/mbox-0.1.0/lib/mbox/mail.rb:55:in `match'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/mbox-0.1.0/lib/mbox/mail.rb:55:in `parse'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/mbox-0.1.0/lib/mbox/mbox.rb:91:in `block in each'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/mbox-0.1.0/lib/mbox/mbox.rb:74:in `lock'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/mbox-0.1.0/lib/mbox/mbox.rb:90:in `each'
/home/jarvis/jarvis/lib/jarvis/commands/merge.rb:74:in `block in execute'
/home/jarvis/jarvis/lib/jarvis/commands/merge.rb:67:in `each'
/home/jarvis/jarvis/lib/jarvis/commands/merge.rb:67:in `execute'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/clamp-1.0.1/lib/clamp/command.rb:68:in `run'
/home/jarvis/jarvis/lib/jarvis/clamp_delegate.rb:56:in `block in callback'
/home/jarvis/jarvis/lib/jarvis/mixins/pool_delegate.rb:16:in `block in pool_execute'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-0.9.1/lib/concurrent/executor/ruby_thread_pool_executor.rb:331:in `run_task'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-0.9.1/lib/concurrent/executor/ruby_thread_pool_executor.rb:320:in `block (3 levels) in create_worker'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-0.9.1/lib/concurrent/executor/ruby_thread_pool_executor.rb:303:in `loop'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-0.9.1/lib/concurrent/executor/ruby_thread_pool_executor.rb:303:in `block (2 levels) in create_worker'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-0.9.1/lib/concurrent/executor/ruby_thread_pool_executor.rb:302:in `catch'
/home/jarvis/.rvm/gems/ruby-2.4.0/gems/concurrent-ruby-0.9.1/lib/concurrent/executor/ruby_thread_pool_executor.rb:302:in `block in create_worker'

we should fix that :)

jakelandis commented 7 years ago

This seems very similar and the same fix may apply : https://github.com/fastlane/fastlane/issues/227

export LC_ALL="en_US.UTF-8" or inside the code:

Encoding.default_external = Encoding::UTF_8
Encoding.default_internal = Encoding::UTF_8

Here is .patch file that can be used for testing: https://patch-diff.githubusercontent.com/raw/logstash-plugins/logstash-filter-dissect/pull/30.patch