[lnkForumImage]
TotalShareware - Download Free Software

Confronta i prezzi di migliaia di prodotti.
Asp Forum
 Home | Login | Register | Search 


 

Forums >

comp.lang.ruby

Bug in IRB

Glenn Potter

8/26/2008 2:50:00 AM

Running ruby version ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
with Rails 1.2.3, getting the following error trying to create one of my
app objects from the console:
Errno::ENOMEM: Not enough space
from c:/ruby/lib/ruby/1.8/irb.rb:298:in `write'
from c:/ruby/lib/ruby/1.8/irb.rb:298:in `printf'
from c:/ruby/lib/ruby/1.8/irb.rb:298:in `output_value'
from c:/ruby/lib/ruby/1.8/irb.rb:151:in `eval_input'
from c:/ruby/lib/ruby/1.8/irb.rb:259:in `signal_status'
from c:/ruby/lib/ruby/1.8/irb.rb:147:in `eval_input'
from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:244:in
`each_top_level_statement'
from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:230:in `loop'
from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:230:in
`each_top_level_statement'
from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:229:in `catch'
from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:229:in
`each_top_level_statement'
from c:/ruby/lib/ruby/1.8/irb.rb:146:in `eval_input'
from c:/ruby/lib/ruby/1.8/irb.rb:70:in `start'
from c:/ruby/lib/ruby/1.8/irb.rb:69:in `catch'
from c:/ruby/lib/ruby/1.8/irb.rb:69:in `start'
from c:/ruby/bin/irb.bat:15
Maybe IRB bug!!

Has anyone seen this and knows what the problem is?
--
Posted via http://www.ruby-....

3 Answers

Robert Klemme

8/26/2008 6:17:00 AM

0

On 26.08.2008 04:50, Glenn Potter wrote:
> Running ruby version ruby 1.8.6 (2007-03-13 patchlevel 0) [i386-mswin32]
> with Rails 1.2.3, getting the following error trying to create one of my
> app objects from the console:
> Errno::ENOMEM: Not enough space
> from c:/ruby/lib/ruby/1.8/irb.rb:298:in `write'
> from c:/ruby/lib/ruby/1.8/irb.rb:298:in `printf'
> from c:/ruby/lib/ruby/1.8/irb.rb:298:in `output_value'
> from c:/ruby/lib/ruby/1.8/irb.rb:151:in `eval_input'
> from c:/ruby/lib/ruby/1.8/irb.rb:259:in `signal_status'
> from c:/ruby/lib/ruby/1.8/irb.rb:147:in `eval_input'
> from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:244:in
> `each_top_level_statement'
> from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:230:in `loop'
> from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:230:in
> `each_top_level_statement'
> from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:229:in `catch'
> from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:229:in
> `each_top_level_statement'
> from c:/ruby/lib/ruby/1.8/irb.rb:146:in `eval_input'
> from c:/ruby/lib/ruby/1.8/irb.rb:70:in `start'
> from c:/ruby/lib/ruby/1.8/irb.rb:69:in `catch'
> from c:/ruby/lib/ruby/1.8/irb.rb:69:in `start'
> from c:/ruby/bin/irb.bat:15
> Maybe IRB bug!!
>
> Has anyone seen this and knows what the problem is?

The error looks like you were trying to write to a filesystem which has
no space left. But from the stack trace it looks like the error would
occur during screen writing. I'd look at c:/ruby/lib/ruby/1.8/irb.rb
line 298 to determine what IRB was trying to do there.

Kind regards

robert

Glenn Potter

8/26/2008 12:58:00 PM

0

Robert Klemme wrote:
> On 26.08.2008 04:50, Glenn Potter wrote:
>> from c:/ruby/lib/ruby/1.8/irb/ruby-lex.rb:244:in
>> from c:/ruby/lib/ruby/1.8/irb.rb:69:in `start'
>> from c:/ruby/bin/irb.bat:15
>> Maybe IRB bug!!
>>
>> Has anyone seen this and knows what the problem is?
>
> The error looks like you were trying to write to a filesystem which has
> no space left. But from the stack trace it looks like the error would
> occur during screen writing. I'd look at c:/ruby/lib/ruby/1.8/irb.rb
> line 298 to determine what IRB was trying to do there.
>
> Kind regards
>
> robert

Thanks Robert, i looked at the irb code but couldn't see any problem. I
started hacking away at the code and replaced a <model>.find(:all,
:conditions => [where_clause, @station_ae_title, @start_time,
@end_time], :order => "pps_start")
statement with an equivalent .find_by_sql call and the error went away.
--
Posted via http://www.ruby-....

Robert Klemme

8/26/2008 4:36:00 PM

0

On 26.08.2008 14:58, Glenn Potter wrote:

> Thanks Robert, i looked at the irb code but couldn't see any problem. I
> started hacking away at the code and replaced a <model>.find(:all,
> :conditions => [where_clause, @station_ae_title, @start_time,
> @end_time], :order => "pps_start")
> statement with an equivalent .find_by_sql call and the error went away.

Sounds as if you replaced an in memory search by a DB search. Maybe
your dataset is so huge that the in memory search failed to allocate
more memory and bombed. Searching through large sets of data is usually
more efficient when done inside the DBMS.

Kind regards

robert