[#64703] Add `Hash#fetch_at` (issue #10017) — Wojtek Mach <wojtek@...>
Hey guys
1 message
2014/09/01
[#64711] [ruby-trunk - Bug #10193] [Closed] TestIO#test_readpartial_locktmp fails randomly — nobu@...
Issue #10193 has been updated by Nobuyoshi Nakada.
3 messages
2014/09/02
[#64744] [ruby-trunk - Bug #10202] [Open] TestBenchmark#test_realtime_output breaks on ARM — v.ondruch@...
Issue #10202 has been reported by Vit Ondruch.
3 messages
2014/09/03
[#64823] documenting constants — Xavier Noria <fxn@...>
I am writing a Rails guide about constant autoloading in Ruby on
5 messages
2014/09/07
[#64838] [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus — ko1@...
Issue #10212 has been reported by Koichi Sasada.
6 messages
2014/09/08
[#64858] Re: [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus
— Eric Wong <normalperson@...>
2014/09/08
rb_env_t may use a flexible array, helps a little even on my busy system:
[#64871] Re: [ruby-trunk - Bug #10212] [Open] MRI is not for lambda calculus
— SASADA Koichi <ko1@...>
2014/09/08
(2014/09/08 19:48), Eric Wong wrote:
[#64972] [ruby-trunk - Bug #10231] [Open] Process.detach(pid) defines new singleton classes every call — headius@...
Issue #10231 has been reported by Charles Nutter.
3 messages
2014/09/11
[#64980] [ruby-trunk - Bug #10212] MRI is not for lambda calculus — ko1@...
Issue #10212 has been updated by Koichi Sasada.
4 messages
2014/09/12
[#65142] [ruby-trunk - Feature #10267] [Open] Number of processors — akr@...
Issue #10267 has been reported by Akira Tanaka.
4 messages
2014/09/20
[#65144] Re: [ruby-trunk - Feature #10267] [Open] Number of processors
— Eric Wong <normalperson@...>
2014/09/20
akr@fsij.org wrote:
[#65210] [ruby-trunk - misc #10278] [Assigned] [RFC] st.c: use ccan linked list — nobu@...
Issue #10278 has been updated by Nobuyoshi Nakada.
3 messages
2014/09/22
[ruby-core:64919] [ruby-trunk - Bug #10153] File.open block does not throw "No space left on device (Errno::ENOSPC)" if the data fits the buffer of IO.write
From:
usa@...
Date:
2014-09-10 03:36:42 UTC
List:
ruby-core #64919
Issue #10153 has been updated by Usaku NAKAMURA.
Backport changed from 2.0.0: REQUIRED, 2.1: DONE to 2.0.0: DONE, 2.1: DONE
backported into `ruby_2_0_0` at r47503.
----------------------------------------
Bug #10153: File.open block does not throw "No space left on device (Errno::ENOSPC)" if the data fits the buffer of IO.write
https://bugs.ruby-lang.org/issues/10153#change-48778
* Author: Marvin Reyes
* Status: Closed
* Priority: Normal
* Assignee: Yukihiro Matsumoto
* Category: core
* Target version: current: 2.2.0
* ruby -v: ruby 1.9.3p484 (2013-11-22) [x86_64-linux]
* Backport: 2.0.0: DONE, 2.1: DONE
----------------------------------------
When writing to file in disk using File.open with a block as an argument, if the diskspace is full and IO.write does not flush right away, the block just exits successfully instead of throwing Errno:ENOSPC.
Setup: Drive partition needs to be full
Eg. of a write that will succeed normally with no exception given that the drive is full (this means that the expected failure is being swallowed)
~~~
File.open('/full_drive/test.txt','wb') do |file|
file.write("test")
end
#This will complete normally because the "test" data does not get flushed
#This will leave a 0kb file on the disk
~~~
Eg. force a flush to see the error
~~~
File.open('/full_drive/test.txt','wb') do |file|
file.write("test")
file.flush
end
#This will throw Errno::ENOSPC
#This will leave a 0kb file on the disk
~~~
Eg. write a large enough data that file.write will flush by itself (most likely it hits the buffer cap)
~~~
fills = '1'*1048576
File.open('/full_drive/test.txt','wb') do |file|
file.write(fills)
end
#This will throw Errno::ENOSPC
#This will leave a 0kb file on the disk
~~~
Eg. When not using File.open block argument and closing the IO with an ensure block
~~~
begin
io = File.open('/full_drive/test.txt', 'wb')
io.write("test")
ensure
io.close
end
#This will throw Errno::ENOSPC
#This will leave a 0kb file on the disk
~~~
Currently tested in RHEL5.
Notes:
- I've encountered this in ruby-1.9.2
- I've tested this with ruby-2.1.2
- I'm not sure if the issue is because of File.open usage of c-extension rb_ensure or io_close. reference: (http://ruby-doc.org/core-1.9.3/File.html#method-c-open)
--
https://bugs.ruby-lang.org/