[ruby-core:78047] [Ruby trunk Bug#12551] Exception accessing file with long path on windows
From:
headius@...
Date:
2016-11-08 06:13:21 UTC
List:
ruby-core #78047
Issue #12551 has been updated by Charles Nutter.
FYI, the JRuby issue is waiting on a decision from MRI about how to handle this.
----------------------------------------
Bug #12551: Exception accessing file with long path on windows
https://bugs.ruby-lang.org/issues/12551#change-61400
* Author: Lars Benner
* Status: Open
* Priority: Normal
* Assignee: Usaku NAKAMURA
* ruby -v: ruby 2.3.0p0 (2015-12-25 revision 53290) [x64-mingw32]
* Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN
----------------------------------------
Accessing file with a long file name causes this exception:
C:/Projects/Head/Build/cm/testdir01/testdir02/testdir03/testdir04/testdir05/testdir06/testdir07/testdir08/testdir09/testdir10/testdir11/testdir12/testdir13/testdir14/testdir15/testdir16/testdir17/testdir18/testdir19/testdir20/testdir21/testdir22/longtestfile.name.txt
repro_lstat_exception.rb:42:in `stat': No such file or directory @ rb_file_s_stat - C:/Projects/Head/Build/cm/testdir01/testdir02/testdir03/testdir04/testdir05/testdir06/testdir07/testdir08/testdir09/testdir10/testdir11/testdir12/testdir13/testdir14/testdir15/testdir16/testdir17/testdir18/testdir19/testdir20/testdir21/testdir22/longtestfile.name.txt (Errno::ENOENT)
from repro_lstat_exception.rb:42:in `block in <main>'
from repro_lstat_exception.rb:13:in `chdir'
from repro_lstat_exception.rb:13:in `<main>'
Can be reproduced with the attach script.
I used windows 7 64 bit and an NTFS file system.
For me it looks like, it has something to do with the legacy MAX_PATH_LENGTH of 260 characters. See https://msdn.microsoft.com/en-us/library/windows/desktop/aa365247(v=vs.85).aspx#maxpath for more information.
Originally I discovered the bug with JRuby (https://github.com/jruby/jruby/issues/3995).
With older Ruby version, I tried 1.8.5, it is working.
---Files--------------------------------
long_file_name_error.zip (10.7 KB)
--
https://bugs.ruby-lang.org/
Unsubscribe: <mailto:[email protected]?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>