Project

General

Profile

Backport #766

'Not enough space' error on windows

Added by ittayd (Ittay Dror) over 11 years ago. Updated over 2 years ago.

Status:
Rejected
Priority:
Normal
[ruby-core:20008]

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


Related issues

Related to Backport191 - Backport #1063: in `write': Not enough space - <STDOUT> (Errno::ENOMEM) on Windows XPClosedyugui (Yuki Sonoda)01/28/2009Actions
#1

Updated by rogerdpack (Roger Pack) over 11 years ago

=begin
how to reproduce?
=end

#2

Updated by ittayd (Ittay Dror) over 11 years ago

=begin
I don't know. It happens repeatedly on one computer, but not others. It looks like a Windows system error.
=end

#3

Updated by ittayd (Ittay Dror) over 11 years ago

=begin
i think the reason may be something to do with the fact that the path name is very long.
=end

#4

Updated by ittayd (Ittay Dror) over 11 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

#5

Updated by matz (Yukihiro Matsumoto) over 11 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

#6

Updated by ittayd (Ittay Dror) over 11 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

#7

Updated by matz (Yukihiro Matsumoto) over 11 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

#8

Updated by ittayd (Ittay Dror) over 11 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

#9

Updated by matz (Yukihiro Matsumoto) over 11 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

#10

Updated by luislavena (Luis Lavena) over 11 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

#11

Updated by ittayd (Ittay Dror) over 11 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

#12

Updated by antares (Michael Klishin) over 11 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

#13

Updated by ittayd (Ittay Dror) over 11 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

#14

Updated by luislavena (Luis Lavena) over 11 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

#15

Updated by ittayd (Ittay Dror) over 11 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

#16

Updated by rogerdpack (Roger Pack) about 11 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

#17

Updated by shyouhei (Shyouhei Urabe) about 11 years ago

  • Assignee set to usa (Usaku NAKAMURA)
  • ruby -v set to 1.8.6 installed with the one-click installer

=begin

=end

#18

Updated by usa (Usaku NAKAMURA) almost 11 years ago

  • Status changed from Open to Assigned

=begin

=end

#19

Updated by usa (Usaku NAKAMURA) over 10 years ago

  • Priority changed from 6 to Normal

=begin

=end

Updated by usa (Usaku NAKAMURA) over 2 years ago

  • ruby -v deleted (1.8.6 installed with the one-click installer)
  • Status changed from Assigned to Rejected
  • Description updated (diff)
  • Project changed from Ruby 1.8 to Backport186
  • Tracker changed from Bug to Backport

1.8 is out of date

Also available in: Atom PDF