Project

General

Profile

Actions

Bug #8594

closed

[BUG] rb_update_max_fd: invalid fd (4) given

Added by chris.frederick (Chris Frederick) almost 11 years ago. Updated over 4 years ago.

Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.0.0p195 (2013-05-14) [i386-mingw32]
Backport:
[ruby-core:55750]

Description

=begin

Note that I expect EINVAL when running this code. Most of the time it is correctly handled by the rescue on line 108. Occasionally, however, Ruby crashes.

I was originally experiencing this on 1.9.3p392; I upgraded to 2.0.0p195 but it did not resolve the problem.

The triggering code:

100:# Try an file operation and print a single-character result to stdout.
101:#
102:# block - operation to perform.
103:#
104:# Returns nothing.
105:def try
106: yield
107: print '.'
108:rescue Errno::EINVAL
109: print 'i'
110: sleep 1
111:rescue Errno::ENOENT
112: print 'n'
113: sleep 1
114:rescue Errno::EACCES
115: print 'a'
116: sleep 1
117:rescue Errno::EBADF
118: print 'b'
119: sleep 1
120:rescue Errno::ENETDOWN
121: print 'd'
122: sleep 1
123:rescue Errno::ERANGE
124: print 'r'
125: sleep 1
126:end

...

157:50.times do
158: filebase = 'shakeshake-' + Time.new.to_i.to_s
159: print "\ncreate " ; 50.times { |i| try { File.write('%s_%d' % [filebase, i], 'a' * 100_000) } }
160: print "\nrename " ; 50.times { |i| try { File.rename('%s_%d' % [filebase, i], 'deleteme_%d' % [i]) } }
161: print "\ndelete " ; 50.times { |i| try { File.unlink('deleteme_%d' % [i]) } }
162: puts
163:end

It dies like so:

create tcp_drop_test.rb:159: [BUG] rb_update_max_fd: invalid fd (4) given.
ruby 2.0.0p195 (2013-05-14) [i386-mingw32]

-- Control frame information -----------------------------------------------
c:0009 p:---- s:0027 e:000026 CFUNC :write
c:0008 p:0030 s:0022 e:000021 BLOCK tcp_drop_test.rb:159
c:0007 p:0006 s:0020 e:000019 METHOD tcp_drop_test.rb:106
c:0006 p:0007 s:0017 e:000016 BLOCK tcp_drop_test.rb:159 [FINISH]
c:0005 p:---- s:0014 e:000013 CFUNC :times
c:0004 p:0037 s:0011 e:000010 BLOCK tcp_drop_test.rb:159 [FINISH]
c:0003 p:---- s:0008 e:000007 CFUNC :times
c:0002 p:0282 s:0005 E:001558 EVAL tcp_drop_test.rb:157 [FINISH]
c:0001 p:0000 s:0002 E:001e84 TOP [FINISH]

tcp_drop_test.rb:157:in <main>' tcp_drop_test.rb:157:in times'
tcp_drop_test.rb:159:in block in <main>' tcp_drop_test.rb:159:in times'
tcp_drop_test.rb:159:in block (2 levels) in <main>' tcp_drop_test.rb:106:in try'
tcp_drop_test.rb:159:in block (3 levels) in <main>' tcp_drop_test.rb:159:in write'

-- C level backtrace information -------------------------------------------
C:\Windows\SysWOW64\ntdll.dll(ZwWaitForSingleObject+0x15) [0x773AF8B1]
C:\Windows\syswow64\kernel32.dll(WaitForSingleObjectEx+0x43) [0x75B41194]
C:\Windows\syswow64\kernel32.dll(WaitForSingleObject+0x12) [0x75B41148]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_vm_bugreport+0xa7) [0x668F69D7]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_name_err_mesg_new+0x69d) [0x667BE2AD]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_bug+0x2e) [0x667BF0AE]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_update_max_fd+0x52) [0x667EC952]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_update_max_fd+0xb9) [0x667EC9B9]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_io_fptr_finalize+0x3ae) [0x667F30AE]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_pipe+0xf1e) [0x667F864E]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_pipe+0xfb4) [0x667F86E4]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_error_arity+0x129) [0x668E1F89]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_f_send+0xbd8) [0x668F1968]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_vm_localjump_error+0x25ad) [0x668E69ED]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_vm_localjump_error+0x6ce4) [0x668EB124]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_yield+0x131) [0x668F3551]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_parser_dump_tree+0xeef) [0x6680F35F]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_error_arity+0x129) [0x668E1F89]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_f_send+0xbd8) [0x668F1968]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_vm_localjump_error+0x24fd) [0x668E693D]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_vm_localjump_error+0x6ce4) [0x668EB124]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_yield+0x131) [0x668F3551]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_parser_dump_tree+0xeef) [0x6680F35F]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_error_arity+0x129) [0x668E1F89]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_f_send+0xbd8) [0x668F1968]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_vm_localjump_error+0x24fd) [0x668E693D]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_vm_localjump_error+0x6ce4) [0x668EB124]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_iseq_eval_main+0x131) [0x668F39E1]
C:\Ruby200\bin\msvcrt-ruby200.dll(rb_check_copyable+0x3721) [0x667C44E1]
C:\Ruby200\bin\msvcrt-ruby200.dll(ruby_run_node+0x2d) [0x667C6A0D]
[0x0040287F]
[0x004013FA]
C:\Windows\syswow64\kernel32.dll(BaseThreadInitThunk+0x12) [0x75B433AA]
C:\Windows\SysWOW64\ntdll.dll(RtlInitializeExceptionChain+0x63) [0x773C9EF2]

-- Other runtime information -----------------------------------------------

  • Loaded script: tcp_drop_test.rb

  • Loaded features:

0 enumerator.so
1 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/enc/encdb.so
2 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/enc/iso_8859_1.so
3 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/enc/trans/transdb.so
4 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/rbconfig.rb
5 C:/Ruby200/lib/ruby/2.0.0/rubygems/compatibility.rb
6 C:/Ruby200/lib/ruby/2.0.0/rubygems/defaults.rb
7 C:/Ruby200/lib/ruby/2.0.0/rubygems/deprecate.rb
8 C:/Ruby200/lib/ruby/2.0.0/rubygems/errors.rb
9 C:/Ruby200/lib/ruby/2.0.0/rubygems/version.rb
10 C:/Ruby200/lib/ruby/2.0.0/rubygems/requirement.rb
11 C:/Ruby200/lib/ruby/2.0.0/rubygems/platform.rb
12 C:/Ruby200/lib/ruby/2.0.0/rubygems/specification.rb
13 C:/Ruby200/lib/ruby/2.0.0/rubygems/exceptions.rb
14 C:/Ruby200/lib/ruby/2.0.0/rubygems/defaults/operating_system.rb
15 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/enc/utf_16le.so
16 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/enc/trans/utf_16_32.so
17 C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_gem.rb
18 C:/Ruby200/lib/ruby/2.0.0/rubygems/core_ext/kernel_require.rb
19 C:/Ruby200/lib/ruby/2.0.0/rubygems.rb
20 C:/Ruby200/lib/ruby/2.0.0/rubygems/path_support.rb
21 C:/Ruby200/lib/ruby/2.0.0/rubygems/dependency.rb
22 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/enc/trans/single_byte.so
23 C:/Ruby200/lib/ruby/2.0.0/thread.rb
24 C:/Ruby200/lib/ruby/2.0.0/monitor.rb
25 C:/Ruby200/lib/ruby/2.0.0/logger.rb
26 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/config.rb
27 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/errors.rb
28 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/loggable.rb
29 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/socket.so
30 C:/Ruby200/lib/ruby/2.0.0/socket.rb
31 C:/Ruby200/lib/ruby/2.0.0/timeout.rb
32 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/version.rb
33 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/ruby_compat.rb
34 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/digest.so
35 C:/Ruby200/lib/ruby/2.0.0/digest.rb
36 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/openssl.so
37 C:/Ruby200/lib/ruby/2.0.0/openssl/bn.rb
38 C:/Ruby200/lib/ruby/2.0.0/openssl/cipher.rb
39 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/stringio.so
40 C:/Ruby200/lib/ruby/2.0.0/openssl/config.rb
41 C:/Ruby200/lib/ruby/2.0.0/openssl/digest.rb
42 C:/Ruby200/lib/ruby/2.0.0/openssl/x509.rb
43 C:/Ruby200/lib/ruby/2.0.0/openssl/buffering.rb
44 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/fcntl.so
45 C:/Ruby200/lib/ruby/2.0.0/openssl/ssl.rb
46 C:/Ruby200/lib/ruby/2.0.0/openssl.rb
47 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/openssl.rb
48 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/buffer.rb
49 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/strscan.so
50 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/known_hosts.rb
51 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/ctr.rb
52 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/key_expander.rb
53 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/identity_cipher.rb
54 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/cipher_factory.rb
55 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/constants.rb
56 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac/abstract.rb
57 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac/md5.rb
58 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac/md5_96.rb
59 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac/sha1.rb
60 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac/sha1_96.rb
61 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac/sha2_256.rb
62 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac/sha2_256_96.rb
63 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac/sha2_512.rb
64 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac/sha2_512_96.rb
65 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac/ripemd160.rb
66 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac/none.rb
67 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/hmac.rb
68 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/kex/diffie_hellman_group1_sha1.rb
69 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/kex/diffie_hellman_group14_sha1.rb
70 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha1.rb
71 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/kex/diffie_hellman_group_exchange_sha256.rb
72 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/kex/ecdh_sha2_nistp256.rb
73 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/kex/ecdh_sha2_nistp384.rb
74 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/kex/ecdh_sha2_nistp521.rb
75 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/kex.rb
76 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/server_version.rb
77 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/algorithms.rb
78 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/buffered_io.rb
79 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/authentication/constants.rb
80 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/connection/constants.rb
81 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/packet.rb
82 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/zlib.so
83 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/state.rb
84 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/packet_stream.rb
85 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/verifiers/null.rb
86 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/verifiers/secure.rb
87 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/verifiers/strict.rb
88 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/verifiers/lenient.rb
89 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/transport/session.rb
90 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/prompt.rb
91 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/key_factory.rb
92 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/dl.so
93 C:/Ruby200/lib/ruby/2.0.0/i386-mingw32/fiddle.so
94 C:/Ruby200/lib/ruby/2.0.0/fiddle/function.rb
95 C:/Ruby200/lib/ruby/2.0.0/fiddle/closure.rb
96 C:/Ruby200/lib/ruby/2.0.0/fiddle.rb
97 C:/Ruby200/lib/ruby/2.0.0/dl.rb
98 C:/Ruby200/lib/ruby/2.0.0/dl/callback.rb
99 C:/Ruby200/lib/ruby/2.0.0/dl/stack.rb
100 C:/Ruby200/lib/ruby/2.0.0/dl/value.rb
101 C:/Ruby200/lib/ruby/2.0.0/dl/func.rb
102 C:/Ruby200/lib/ruby/2.0.0/dl/pack.rb
103 C:/Ruby200/lib/ruby/2.0.0/dl/struct.rb
104 C:/Ruby200/lib/ruby/2.0.0/dl/cparser.rb
105 C:/Ruby200/lib/ruby/2.0.0/dl/import.rb
106 C:/Ruby200/lib/ruby/2.0.0/dl/types.rb
107 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/authentication/pageant.rb
108 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/authentication/agent/socket.rb
109 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/authentication/agent.rb
110 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/authentication/key_manager.rb
111 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/authentication/methods/abstract.rb
112 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/authentication/methods/publickey.rb
113 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/authentication/methods/hostbased.rb
114 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/authentication/methods/password.rb
115 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/authentication/methods/keyboard_interactive.rb
116 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/authentication/session.rb
117 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/connection/term.rb
118 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/connection/channel.rb
119 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/service/forward.rb
120 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh/connection/session.rb
121 C:/Ruby200/lib/ruby/gems/2.0.0/gems/net-ssh-2.6.7/lib/net/ssh.rb

[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
=end

Updated by akr (Akira Tanaka) almost 11 years ago

  • Status changed from Open to Feedback

It is not reproducible for me.

% cat tst.rb
def try
yield
print '.'
rescue Errno::EINVAL
print 'i'
sleep 1
rescue Errno::ENOENT
print 'n'
sleep 1
rescue Errno::EACCES
print 'a'
sleep 1
rescue Errno::EBADF
print 'b'
sleep 1
rescue Errno::ENETDOWN
print 'd'
sleep 1
rescue Errno::ERANGE
print 'r'
sleep 1
end

50.times do
filebase = 'shakeshake-' + Time.new.to_i.to_s
print "\ncreate " ; 50.times { |i| try { File.write('%s_%d' % [filebase, i], 'a' * 100_000) } }
print "\nrename " ; 50.times { |i| try { File.rename('%s_%d' % [filebase, i], 'deleteme_%d' % [i]) } }
print "\ndelete " ; 50.times { |i| try { File.unlink('deleteme_%d' % [i]) } }
puts
end
% ruby-2.0.0p195 -v tst.rb
ruby 2.0.0p195 (2013-05-14 revision 40734) [x86_64-linux]

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................

create ..................................................
rename ..................................................
delete ..................................................
%

Updated by cedric.brancourt (Cedric Brancourt) almost 11 years ago

Maybe because you are on Unix platform and the bug reporter on Win32 platform ! :)
It would be better IMHO to try to reproduce it on win32.

Updated by luislavena (Luis Lavena) almost 11 years ago

Hello,

I tested this against:

ruby 2.0.0p247 (2013-06-27) [i386-mingw32]
ruby 2.0.0p247 (2013-06-27) [x64-mingw32]

Without failures. OS Windows 7 x64.

Can you test if the following script also fails on latest version?

https://gist.github.com/luislavena/5945088

Thank you.

Updated by chris.frederick (Chris Frederick) almost 11 years ago

It does fail in 2.0.0p195.

Running this script against a local filesystem will probably not produce any errors. I am using it to test networked filesystems during network disconnects. My FS will frequently return EINVAL - you won't see any crashes unless that's happening for you too.

It'd be somewhat difficult to replicate my environment. If staring at the code indicated by the stack trace isn't enlightening then let me know what debugging I can perform for you. I can reproduce this about every 15 minutes in our lab.

Updated by jeremyevans0 (Jeremy Evans) over 4 years ago

  • Backport deleted (1.9.3: UNKNOWN, 2.0.0: UNKNOWN)

I tested the program on Windows 10 x64 on a network file system while repeatedly disconnecting and reconnecting the physical connection and was not able to reproduce the crash. Can you try again on a supported ruby version and see if the crash still occurs?

Actions #6

Updated by jeremyevans0 (Jeremy Evans) over 4 years ago

  • Status changed from Feedback to Closed
Actions

Also available in: Atom PDF

Like0
Like0Like0Like0Like0Like0Like0