Backport #766
closed'Not enough space' error on windows
Description
=begin
Trying to delete files from rake in Windows, a 'Not enough space' error is thrown.
- there's 90GB available on disk
- the error is thrown from outputting a message to screen
Ruby is 1.8.7 (1.8.6 installed with the one-click installer, then overwritten with 1.8.7 from ruby-lang.org)
Here is the relevant stack trace:
Not enough space
c:/dev/tools/ruby/lib/ruby/1.8/fileutils.rb:1460:in write' c:/dev/tools/ruby/lib/ruby/1.8/fileutils.rb:1460:in
puts'
c:/dev/tools/ruby/lib/ruby/1.8/fileutils.rb:1460:in fu_output_message' c:/dev/tools/ruby/lib/ruby/1.8/fileutils.rb:606:in
rm_r'
c:/dev/tools/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1072:in rm_r' c:/dev/tools/ruby/lib/ruby/1.8/fileutils.rb:634:in
rm_rf'
c:/dev/tools/ruby/lib/ruby/gems/1.8/gems/rake-0.8.3/lib/rake.rb:1072:in `rm_rf'
=end
Updated by rogerdpack (Roger Pack) almost 16 years ago
=begin
how to reproduce?
=end
Updated by ittayd (Ittay Dror) almost 16 years ago
=begin
I don't know. It happens repeatedly on one computer, but not others. It looks like a Windows system error.
=end
Updated by ittayd (Ittay Dror) almost 16 years ago
=begin
i think the reason may be something to do with the fact that the path name is very long.
=end
Updated by ittayd (Ittay Dror) almost 16 years ago
=begin
correction: you can see the error happens in 'puts', so it's about output to a console not path names. also, it happens when short paths are involved.
can someone please address this?? i currently can't do a 'rake clean'
=end
Updated by matz (Yukihiro Matsumoto) almost 16 years ago
=begin
Hi,
In message "Re: [ruby-core:20296] [Bug #766] 'Not enough space' error on windows"
on Thu, 4 Dec 2008 14:48:54 +0900, Ittay Dror redmine@ruby-lang.org writes:
|can someone please address this?? i currently can't do a 'rake clean'
That problem seems to happen only on you. Something in your computer
is different somehow. Could you give us exact instruction to
reproduce the problem? Ruby version? Platform? Compiler?
Without info, we cannot help you.
matz.
=end
Updated by ittayd (Ittay Dror) almost 16 years ago
=begin
the problem was because i was deleting many files and FileUtils#rm_rf prints a message about the files it is deleting and the message was huge (70068). i sliced the array and now the problem doesn't happen.
sadly, trying to reproduce in irb did not work ('FileUtils.rm_rf "f"*70000').
the platform is windows xp ruby version is 1.8.7 p72, downloaded from ruby-lang. note that it happens on all developer machines here, not just mine.
=end
Updated by matz (Yukihiro Matsumoto) almost 16 years ago
=begin
Hi,
In message "Re: [ruby-core:20305] [Bug #766] 'Not enough space' error on windows"
on Thu, 4 Dec 2008 19:41:51 +0900, Ittay Dror redmine@ruby-lang.org writes:
|the problem was because i was deleting many files and FileUtils#rm_rf prints a message about the files it is deleting and the message was huge (70068). i sliced the array and now the problem doesn't happen.
|
|sadly, trying to reproduce in irb did not work ('FileUtils.rm_rf "f"*70000').
As long as you don't disclose the whole information, I am afraid we
can do nothing for you. Maybe a bug in Ruby itself, maybe a bug in
Windows port, or maybe you've hit the hidden limit of Windows system
calls. Can you show us your program with all input? If they are too
big to attach to a post, can you put them somewhere in the net?
matz.
=end
Updated by ittayd (Ittay Dror) almost 16 years ago
=begin
sorry, it's internal code.
perhaps more analysis tools can be added to ruby? just now i'm dealing with a segmentation fault and have no idea why it is happening (in previous time it was because of infinite recursions, ruby just crashed without giving a hint why). this time it is in Ubuntu with the same version of ruby that i compiled.
=end
Updated by matz (Yukihiro Matsumoto) almost 16 years ago
=begin
Hi,
In message "Re: [ruby-core:20324] [Bug #766] 'Not enough space' error on windows"
on Fri, 5 Dec 2008 06:30:00 +0900, Ittay Dror redmine@ruby-lang.org writes:
|sorry, it's internal code.
Oh, well. Too bad. Although I am willing to help you, it's too
difficult to play an armchair detective in real life.
|perhaps more analysis tools can be added to ruby? just now i'm dealing with a segmentation fault and have no idea why it is happening (in previous time it was because of infinite recursions, ruby just crashed without giving a hint why). this time it is in Ubuntu with the same version of ruby that i compiled.
I am not sure what kind of analysis tools can help your situation.
But thank you for the suggestion anyway. FYI, 1.9 has better handling
for infinite recursion.
matz.
=end
Updated by luislavena (Luis Lavena) almost 16 years ago
=begin
Internal? c'mon.
Don't fill a bug report when you cannot show the code to replicate it.
At least take the time to create the minimal code that generates the problem.
That's what anyone that can't show the code would do.
Isolate the problem, provide it as example that can be executed everywhere. If is a bug of Ruby, we will be able to catch up.
=end
Updated by ittayd (Ittay Dror) almost 16 years ago
=begin
I tried to reproduce with a smaller example code but failed
Also, I'm having many segmentation faults (in linux, windows), all of which cannot be reproduced of course on toy examples, partly, because I can't really say why they happen. Perfectly good code crashes and using the trace_proc doesn't give any clues.
=end
Updated by antares (Michael Klishin) almost 16 years ago
=begin
You can utilize tools like strace and gdb. "I have segfaults but cannot reproduce" is not really a reason for an urgent-priority issue. Your problem can be caused by a 3rd party library and many other variables.
=end
Updated by ittayd (Ittay Dror) almost 16 years ago
=begin
i tried both. what i see is a lot of rb_eval calls.
in all places i have worked, whenever a client said there was a bug, we tried to help him diagnose the problem and if not enough tools existed, created new tools and procedures to help him. i know this is an open source project and you don't owe me anything, but bashing me for not being able to debug ruby is not the right way of getting a stable environment. i'm a ruby programmer, not C.
please close this bug as 'won't fix'
=end
Updated by luislavena (Luis Lavena) almost 16 years ago
=begin
Is not that noone wanted to help you, or that we bashed you.
Please don't take this personally, but is really hard try to reproduce every aspect of your environment just to come up with I can't reproduce it
As I said before, if you cannot provide more details for us to spot it, there is no easy way for us to help you.
You said that you putted 1.8.7 on top of 1.8.6, maybe is there something that didn't update properly? Could you try a different, fresh installation of Ruby from One-Click Installer?
Being the maintainer of the distribution but me in the position to try to help everybody on Windows, but at the same time you need to do your job.
Quoting _why from Hpricot readme file:
bq. If you have any trouble, don't hesitate to contact the author. As always, I'm not going to say "Use at your own risk" because I don't want this library to be risky. If you trip on something, I'll share the liability by repairing things as quickly as I can. Your responsibility is to report the inadequacies.
=end
Updated by ittayd (Ittay Dror) almost 16 years ago
=begin
as mentioned, this happened in other machines. i'll try creating a fresh environment and check it there. however, i won't be in the office next week, so don't hold your breath ;-)
in the meanwhile, what i saw is that the function that failed was 'puts' (actually 'write'), and it failed trying to output a very long string. is there some kind of windows limitation on the length of the output?
=end
Updated by rogerdpack (Roger Pack) almost 16 years ago
=begin
STDOUT.write "a"*100000000
works on windows in 1.8.6 but not 1.9
It's Windows' bug. The border is about 60KB.
I found this bug about 7 years ago, and I considered that
it is not critical.
I wonder if it caused this:
http://redmine.ruby-lang.org/issues/show/766
Thanks.
-=r
=end
Updated by shyouhei (Shyouhei Urabe) almost 16 years ago
- Assignee set to usa (Usaku NAKAMURA)
- ruby -v set to 1.8.6 installed with the one-click installer
=begin
=end
Updated by usa (Usaku NAKAMURA) about 7 years ago
- Tracker changed from Bug to Backport
- Project changed from Ruby 1.8 to Backport186
- Description updated (diff)
- Status changed from Assigned to Rejected
- ruby -v deleted (
1.8.6 installed with the one-click installer)
1.8 is out of date