Bug #10419
closedruby 2.1.3 kackes during IO.readlines of huge file
Description
Trying to read massive text file - here's the one line program with all info included
a = IO.readlines('sentences.txt')
=begin
D:\sentences>dir
Volume in drive D is DATA
Volume Serial Number is BE2F-06B2
Directory of D:\sentences
10/22/2014 14:15
.10/22/2014 14:15 ..
10/22/2014 14:15 2,389 s.rb
10/10/2014 09:56 1,425,731,345 sentences.txt
2 File(s) 1,425,733,734 bytes
2 Dir(s) 425,943,310,336 bytes free
D:\sentences>ruby -v
ruby 2.1.3p242 (2014-09-19 revision 47630) [i386-mingw32]
D:\sentences>ruby s.rb
s.rb:1: [BUG] object allocation during garbage collection phase
ruby 2.1.3p242 (2014-09-19 revision 47630) [i386-mingw32]
-- Control frame information -----------------------------------------------
c:0003 p:---- s:0009 e:000008 CFUNC :readlines
c:0002 p:0013 s:0005 E:000d28 EVAL s.rb:1 [FINISH]
c:0001 p:0000 s:0002 E:0009d4 TOP [FINISH]
s.rb:1:in <main>' s.rb:1:in
readlines'
-- C level backtrace information -------------------------------------------
-- Other runtime information -----------------------------------------------
-
Loaded script: s.rb
-
Loaded features:
0 enumerator.so
1 C:/Ruby21/lib/ruby/2.1.0/i386-mingw32/enc/encdb.so
2 C:/Ruby21/lib/ruby/2.1.0/i386-mingw32/enc/iso_8859_1.so
3 C:/Ruby21/lib/ruby/2.1.0/i386-mingw32/enc/trans/transdb.so
4 C:/Ruby21/lib/ruby/2.1.0/i386-mingw32/rbconfig.rb
5 C:/Ruby21/lib/ruby/2.1.0/rubygems/compatibility.rb
6 C:/Ruby21/lib/ruby/2.1.0/rubygems/defaults.rb
7 C:/Ruby21/lib/ruby/2.1.0/rubygems/deprecate.rb
8 C:/Ruby21/lib/ruby/2.1.0/rubygems/errors.rb
9 C:/Ruby21/lib/ruby/2.1.0/rubygems/version.rb
10 C:/Ruby21/lib/ruby/2.1.0/rubygems/requirement.rb
11 C:/Ruby21/lib/ruby/2.1.0/rubygems/platform.rb
12 C:/Ruby21/lib/ruby/2.1.0/rubygems/basic_specification.rb
13 C:/Ruby21/lib/ruby/2.1.0/rubygems/stub_specification.rb
14 C:/Ruby21/lib/ruby/2.1.0/rubygems/util/stringio.rb
15 C:/Ruby21/lib/ruby/2.1.0/rubygems/specification.rb
16 C:/Ruby21/lib/ruby/2.1.0/rubygems/exceptions.rb
17 C:/Ruby21/lib/ruby/2.1.0/rubygems/defaults/operating_system.rb
18 C:/Ruby21/lib/ruby/2.1.0/rubygems/core_ext/kernel_gem.rb
19 thread.rb
20 C:/Ruby21/lib/ruby/2.1.0/i386-mingw32/thread.so
21 C:/Ruby21/lib/ruby/2.1.0/monitor.rb
22 C:/Ruby21/lib/ruby/2.1.0/rubygems/core_ext/kernel_require.rb
23 C:/Ruby21/lib/ruby/2.1.0/rubygems.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 hsbt (Hiroshi SHIBATA) about 6 years ago
- Assignee deleted (
tjlsmith (Terry Smith))
Updated by jeremyevans0 (Jeremy Evans) over 5 years ago
- Status changed from Open to Closed
I was able to reproduce this on ruby 1.9.3p551 (2014-11-13) [i386-mingw32]
, but not on any [x64-mingw32]
compiled Ruby. I installed ruby 2.6.3p62 (2019-04-16 revision 67580) [i386-mingw32]
and was no longer able to reproduce the error, instead getting [FATAL] failed to allocate memory
. Since I think that error is reasonable given the 32-bit constraints, I'm going to close this.