Actions
Bug #21161
closed
Crash when locale is set to Turkish tr_TR.UTF-8
Description
TL;DR this bug was reported in our tracker, and I'm pushing it upstream: https://bugzilla.opensuse.org/show_bug.cgi?id=1237861
When the locale is set to tr_TR.UTF-8
, there is an encoding error. It has been narrowed down specifically to setting LC_CTYPE
.
To reproduce simply run LC_CTYPE=tr_TR.UTF-8 ruby -e "puts 42"
Example from a fresh 3.4.2 install:
srbaker@geekopad:~> LC_CTYPE=tr_TR.UTF-8 ruby -e "puts 42"
/home/srbaker/.local/share/mise/installs/ruby/3.4.2/lib64/ruby/3.4.0/rubygems.rb:9:in 'Kernel#require': /home/srbaker/.local/share/mise/installs/ruby/3.4.2/lib64/ruby/3.4.0/x86_64-linux/rbconfig.rb:1: unknown or invalid encoding in the magic comment (ArgumentError)
> 1 | # encoding: ascii-8bit
| ^~~~~~~~~~
2 | # frozen-string-literal: false
3 | #
from /home/srbaker/.local/share/mise/installs/ruby/3.4.2/lib64/ruby/3.4.0/rubygems.rb:9:in '<top (required)>'
from <internal:gem_prelude>:2:in 'Kernel#require'
from <internal:gem_prelude>:2:in '<internal:gem_prelude>'
This reproduces across multiple installs of ruby: from our packages, locally built on both GNU/Linux and macOS.
It looks like it's related to some normalisation on lowercase i, which in Turkish appears to produce a lowercase i without a dot, and the string. Details in our bug linked above.
Actions
Like0
Like0Like0Like0Like0Like0Like0Like0