[MacRuby-devel] [MacRuby] #577: EXC_BAD_ACCESS in IO.read

MacRuby ruby-noreply at macosforge.org
Mon Feb 8 07:25:28 PST 2010


#577: EXC_BAD_ACCESS in IO.read
---------------------------------+------------------------------------------
 Reporter:  spamtrap1@…          |       Owner:  lsansonetti@…        
     Type:  defect               |      Status:  new                  
 Priority:  minor                |   Milestone:                       
Component:  MacRuby              |    Keywords:                       
---------------------------------+------------------------------------------

Comment(by martinlagardette@…):

 hi Jimmy!

 Thanks for the very detailed bug report![[BR]]
 But why are you unable to build trunk?

 Other than that, if you look closely to rb_io_read_all(), you will notice
 it is mostly doing the same thing as io_read():[[BR]]
 - Create a CFMutableDataRef with rb_bytestring_wrapped_data()[[BR]]
 - Increase the CFMutableDataRef size with CFDataIncreaseLength()[[BR]]
 - call rb_io_read_internal()[[BR]]
 - Once done, call CFDataSetLength()

 I can't run the test, because I run out of memory as before it completes,
 but the issue might come from the fact that even `'''rb_io_eof'''` uses
 `'''rb_io_read_internal()'''`, which is why, as you can see in the
 backtrace, CFDataSetLength() is called. So I guess there are three
 possible cases here: Either you're out of memory too, or either the buffer
 or the sized given to CFDataSetLength() as arguments are incorrect. I will
 try to see with Laurent if he has a better idea as to why this is
 crashing.

-- 
Ticket URL: <http://www.macruby.org/trac/ticket/577#comment:2>
MacRuby <http://macruby.org/>



More information about the MacRuby-devel mailing list