[MacRuby] #303: Method :open from 'open-uri' gives 'stack level too deep'
#303: Method :open from 'open-uri' gives 'stack level too deep' ----------------------------+----------------------------------------------- Reporter: wijet@… | Owner: lsansonetti@… Type: defect | Status: new Priority: major | Milestone: MacRuby 0.4 Component: MacRuby | Keywords: open-uri stdlib ----------------------------+----------------------------------------------- There seems to be a problem with method 'open' in open-uri lib. Following command: {{{ macruby -r 'open-uri' -e 'open "http://ruby-lang.org"' }}} produces {{{ /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?': stack level too deep (SystemStackError) from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' ... 2922 levels... from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1 /open-uri.rb:146:in `open_uri' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1 /open-uri.rb:669:in `open' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1 /open-uri.rb:33:in `open' from -e:1:in `<main>' }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/303> MacRuby <http://macruby.org/>
#303: Method :open from 'open-uri' isn't working yet (multibyte problem) ----------------------------+----------------------------------------------- Reporter: wijet@… | Owner: lsansonetti@… Type: defect | Status: new Priority: major | Milestone: MacRuby 0.5 Component: MacRuby | Keywords: open-uri stdlib ----------------------------+----------------------------------------------- Changes (by mattaimonetti@…): * milestone: MacRuby 0.4 => MacRuby 0.5 Old description:
There seems to be a problem with method 'open' in open-uri lib. Following command: {{{ macruby -r 'open-uri' -e 'open "http://ruby-lang.org"' }}}
produces
{{{ /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?': stack level too deep (SystemStackError) from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' ... 2922 levels... from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1 /open-uri.rb:146:in `open_uri' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1 /open-uri.rb:669:in `open' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1 /open-uri.rb:33:in `open' from -e:1:in `<main>'
}}}
New description: MacRuby 0.5 {{{ $ macruby -r 'open-uri' -e 'open "http://ruby-lang.org"' too short escaped multibyte character: /(?:;(?-mix:[\r\n\t ]+)?(?-mix:[^\x00- ()<>@,;:\\"/\[\]?={}\x7f]+)(?-mix:[\r\n\t ]+)?=(?-mix:[\r\n\t ]+)?(?:(?-mix:[^\x00- ()<>@,;:\\"/\[\]?={}\x7f]+)|(?-mix:"(?:[\r\n\t !#-\[\]-~\x80-\xff]|\\[\x00-\x7f])*"))(?-mix:[\r\n\t ]+)?)*/d{2,}|-)-\d{2}-\d{2}| ([-+]?\d{2,})?-\d{3}| (\d{2}|\d{4})?-w\d{2}-\d| -w-\d) (t \d{2}:\d{2}(:\d{2}([,.]\d+)?)? (z|[-+]\d{2}(:?\d{2})?)?)?\s*\z (RegexpError) }}} MacRuby 0.4 There seems to be a problem with method 'open' in open-uri lib. Following command: {{{ macruby -r 'open-uri' -e 'open "http://ruby-lang.org"' }}} produces {{{ /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?': stack level too deep (SystemStackError) from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1/delegate.rb:150:in `respond_to?' ... 2922 levels... from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1 /open-uri.rb:146:in `open_uri' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1 /open-uri.rb:669:in `open' from /Library/Frameworks/MacRuby.framework/Versions/0.4/usr/lib/ruby/1.9.1 /open-uri.rb:33:in `open' from -e:1:in `<main>' }}} -- Comment: We are currently working on the std lib for MacRuby 0.5 and are getting pretty close to get open uri working (even though nobody worked on it really). {{{ $ macruby -r 'open-uri' -e 'open "http://ruby-lang.org"' too short escaped multibyte character: /(?:;(?-mix:[\r\n\t ]+)?(?-mix:[^\x00- ()<>@,;:\\"/\[\]?={}\x7f]+)(?-mix:[\r\n\t ]+)?=(?-mix:[\r\n\t ]+)?(?:(?-mix:[^\x00- ()<>@,;:\\"/\[\]?={}\x7f]+)|(?-mix:"(?:[\r\n\t !#-\[\]-~\x80-\xff]|\\[\x00-\x7f])*"))(?-mix:[\r\n\t ]+)?)*/d{2,}|-)-\d{2}-\d{2}| ([-+]?\d{2,})?-\d{3}| (\d{2}|\d{4})?-w\d{2}-\d| -w-\d) (t \d{2}:\d{2}(:\d{2}([,.]\d+)?)? (z|[-+]\d{2}(:?\d{2})?)?)?\s*\z (RegexpError) }}} In the mean time, you might want to use a Cocoa method like NSURLRequest etc.. or check my http wrapper: http://github.com/mattetti/macruby- httpwrapper/tree/master -- Ticket URL: <http://www.macruby.org/trac/ticket/303#comment:1> MacRuby <http://macruby.org/>
#303: Method :open from 'open-uri' isn't working yet (multibyte problem) ----------------------------+----------------------------------------------- Reporter: wijet@… | Owner: lsansonetti@… Type: defect | Status: new Priority: major | Milestone: MacRuby 0.5 Component: MacRuby | Keywords: open-uri stdlib ----------------------------+----------------------------------------------- Comment(by lsansonetti@…): I reproduce the 0.4 problem with trunk, as of r2945. Looks like an infinite loop inside delegate.rb's #respond_to? method. -- Ticket URL: <http://www.macruby.org/trac/ticket/303#comment:2> MacRuby <http://macruby.org/>
#303: Method :open from 'open-uri' isn't working yet (multibyte problem) -----------------------------+---------------------------------------------- Reporter: wijet@… | Owner: lsansonetti@… Type: defect | Status: closed Priority: major | Milestone: MacRuby 0.5 Component: MacRuby | Resolution: fixed Keywords: open-uri stdlib | -----------------------------+---------------------------------------------- Changes (by lsansonetti@…): * status: new => closed * resolution: => fixed Comment: The bug was originally reported as #199 and should be fixed in trunk by r2947. {{{ $ macruby -r 'open-uri' -e 'p open("http://ruby-lang.org")' #<File:/var/folders/uT/uTeV4QGmE-eQCoGaM7h47k+++TI/-Tmp-/open- uri20091102-27403-bamds5-0> }}} -- Ticket URL: <http://www.macruby.org/trac/ticket/303#comment:3> MacRuby <http://macruby.org/>
participants (1)
-
MacRuby