Issue #9273 has been updated by nagachika (Tomoyuki Chikanaga). Backport changed from 1.9.3: REQUIRED, 2.0.0: REQUIRED, 2.1: REQUIRED to 1.9.3: REQUIRED, 2.0.0: DONE, 2.1: REQUIRED r44312, r44318 and r44321 were backported to ruby_2_0_0 at r44324. ---------------------------------------- Bug #9273: parse_resolv_conf fails with unicode comments in /etc/resolvconf.c https://bugs.ruby-lang.org/issues/9273#change-43806 Author: vo.x (Vit Ondruch) Status: Closed Priority: Normal Assignee: Category: Target version: ruby -v: ruby -v: ruby 2.1.0dev (2013-12-20 trunk 44303) [x86_64-linux] Backport: 1.9.3: REQUIRED, 2.0.0: DONE, 2.1: REQUIRED =begin This is content of my resolve.conf: $ cat /etc/resolv.conf # Generated by NetworkManager domain redhat.com search redhat.com nameserver 10.38.5.26 nameserver 10.35.255.14 nameserver 213.46.172.36 # POZN??MKA: p??eklada?? adres z libc nemůže podporovat více než 3 jmenné servery. # Jmenné servery uvedené v následujícím seznamu nelze rozpoznat. nameserver 213.46.172.37 nameserver 192.168.0.1 As you can see, NetworkManager inserts there some localized comment. Later, when I run the Ruby's test suite with LANG=C (this is default for Fedora build system), I observer error: 1) Error: TestGemRemoteFetcher#test_download_to_cache: ArgumentError: invalid byte sequence in US-ASCII /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:926:in `sub!' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:926:in `block (2 levels) in parse_resolv_conf' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:925:in `each' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:925:in `block in parse_resolv_conf' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:924:in `open' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:924:in `parse_resolv_conf' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:956:in `default_config_hash' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:977:in `block in lazy_initialize' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:970:in `synchronize' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:970:in `lazy_initialize' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:358:in `block in lazy_initialize' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:356:in `synchronize' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:356:in `lazy_initialize' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:516:in `fetch_resource' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:510:in `each_resource' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/resolv.rb:491:in `getresource' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/remote_fetcher.rb:89:in `api_endpoint' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/source.rb:42:in `api_uri' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/source.rb:126:in `fetch_spec' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/spec_fetcher.rb:171:in `block in spec_for_dependency' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/spec_fetcher.rb:169:in `each' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/spec_fetcher.rb:169:in `spec_for_dependency' /builddir/build/BUILD/ruby-2.1.0-r44303/lib/rubygems/remote_fetcher.rb:106:in `download_to_cache' /builddir/build/BUILD/ruby-2.1.0-r44303/test/rubygems/test_gem_remote_fetcher.rb:400:in `test_download_to_cache' The attached patch ignores such error and should be sufficient to fix this issue IMO. Not sure if I should not contact NM developers, but anybody else might insert there some localized strings as well, so Ruby should be probably more robust in this case. =end -- http://bugs.ruby-lang.org/