[#82706] [Ruby trunk Bug#13851] getting "can't modify string; temporarily locked" on non-frozen instances — cardoso_tiago@...
Issue #13851 has been updated by chucke (Tiago Cardoso).
3 messages
2017/09/07
[#82853] [Ruby trunk Bug#13916] Race condition when sending a signal to a new fork — russell.davis@...
Issue #13916 has been reported by russelldavis (Russell Davis).
3 messages
2017/09/19
[#82892] [Ruby trunk Bug#13921] buffered read_nonblock doesn't work as expected using SSLSocket — cardoso_tiago@...
Issue #13921 has been updated by chucke (Tiago Cardoso).
3 messages
2017/09/20
[ruby-core:82931] [Ruby trunk Feature#13613] Prefer that require/require_relative/load to tell us permission error if the target file is unreadable
From:
sonots@...
Date:
2017-09-22 05:42:12 UTC
List:
ruby-core #82931
Issue #13613 has been updated by sonots (Naotoshi Seo). I tried to write a patch which just adding `strerror(errno)` to error message. https://github.com/sonots/ruby/commit/4af8960b65aec1c4a82d81431ed812bcebcdf7f8 But, I noticed that it was very fragile. ``` $:.replace([IO::NULL]) require 'foo' ``` This tells `cannot load such file -- Not a directory -- foo (LoadError)` rather than `cannot load such file -- No such file or directory -- foo (LoadError)`. The error message depends on orders of calling syscalls internally, which is very fragile. ---------------------------------------- Feature #13613: Prefer that require/require_relative/load to tell us permission error if the target file is unreadable https://bugs.ruby-lang.org/issues/13613#change-66832 * Author: sonots (Naotoshi Seo) * Status: Feedback * Priority: Normal * Assignee: * Target version: ---------------------------------------- ### Background https://github.com/google/google-api-ruby-client/issues/205 We've ever met a situation that read-permissions of files in released google-api-client gem were lost as: ``` $ ls -l ~/.rbenv/versions/2.1.3/lib/ruby/gems/2.1.0/gems/google-api-client-0.8.3/lib/google -rw-r----- 1 sonots sonots 27249 March 24 18:32 2015 api_client.rb ``` The error message was ``` in `require': cannot load such file -- api_client.rb (LoadError) ``` At that time, it took 30 minutes for me to find the reason why we get LoadError with the gem because the file exists. I looked the source codes load.c, and finally I found the reason as it is because of permission with my intuition. ### What I Want If `require` tells us PermissionError in addition to LoadError, I could figure out the reason soon. I think the additional information is helpful for finding such issues. -- https://bugs.ruby-lang.org/ Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe> <http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>