Created
November 13, 2012 01:43
-
-
Save brookemckim/4063344 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| require 'celluloid' | |
| require 'open-uri' | |
| class Fetcher | |
| include Celluloid | |
| def fetch(url) | |
| URI.parse(url).read | |
| end | |
| end | |
| f = Fetcher.new | |
| => #<Celluloid::Actor(Fetcher:0x15ac)> | |
| f.fetch("http://google.com") | |
| => # SystemStackError: SystemStackError | |
| from kernel/common/string.rb:1050:in `modify!' | |
| from kernel/common/string19.rb:418:in `<<' | |
| from kernel/common/regexp.rb:111:in `<<' | |
| from kernel/common/regexp.rb:277:in `push_current_character!' | |
| from kernel/common/regexp.rb:271:in `process_until_group_finished' | |
| from kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| from kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| from kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| from kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| from kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| from kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| from kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| from kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| from kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| from kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| from kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| E, [2012-11-12T20:39:26.921212 #48555] ERROR -- : Fetcher crashed! | |
| SystemStackError: SystemStackError | |
| kernel/common/string.rb:1050:in `modify!' | |
| kernel/common/string19.rb:418:in `<<' | |
| kernel/common/regexp.rb:111:in `<<' | |
| kernel/common/regexp.rb:277:in `push_current_character!' | |
| kernel/common/regexp.rb:271:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until... 78 levels... | |
| _group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:272:in `process_until_group_finished' | |
| kernel/common/regexp.rb:221:in `process_group' | |
| kernel/common/regexp.rb:201:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/com from kernel/common/hash19.rb:243:in `each' | |
| from /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/net/http.rb:1518:in `each (each_header)' | |
| from /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:332:in `open_http' | |
| from /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:775:in `buffer_open' | |
| from /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:203:in `open_loop' | |
| from kernel/common/throw_catch19.rb:8:in `catch' | |
| from kernel/common/throw_catch.rb:10:in `register' | |
| from kernel/common/throw_catch19.rb:7:in `catch' | |
| from /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:201:in `open_loop' | |
| from /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:146:in `open_uri' | |
| from /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:677:in `open' | |
| from /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:685:in `read' | |
| from (irb):8:in `fetch' | |
| from /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/gems/1.9/gems/celluloid-0.12.3/lib/celluloid/calls.rb:57:in `dispatch' | |
| from /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/gems/1.9/gems/celluloid-0.12.3/lib/celluloid/actor.rb:323:in `handle_message' | |
| from /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/gems/1.9/gems/celluloid-0.12.3/lib/celluloid/tasks/task_fiber.rb:22:in `initialize'mon/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:208:in `create_parts' | |
| kernel/common/regexp.rb:187:in `parts' | |
| kernel/common/regexp.rb:298:in `options_string' | |
| kernel/common/regexp.rb:174:in `string' | |
| kernel/common/regexp.rb:316:in `to_s' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:463:in `content_type_parse' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:498:in `charset' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:422:in `meta_setup_encoding' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:443:in `meta_add_field' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:332:in `open_http' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/net/http.rb:1519:in `each_header' | |
| kernel/common/hash19.rb:243:in `each' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/net/http.rb:1518:in `each (each_header)' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:332:in `open_http' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:775:in `buffer_open' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:203:in `open_loop' | |
| kernel/common/throw_catch19.rb:8:in `catch' | |
| kernel/common/throw_catch.rb:10:in `register' | |
| kernel/common/throw_catch19.rb:7:in `catch' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:201:in `open_loop' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:146:in `open_uri' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:677:in `open' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/lib/19/open-uri.rb:685:in `read' | |
| (irb):8:in `fetch' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/gems/1.9/gems/celluloid-0.12.3/lib/celluloid/calls.rb:57:in `dispatch' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/gems/1.9/gems/celluloid-0.12.3/lib/celluloid/actor.rb:323:in `handle_message' | |
| /Users/bmckim/.rbenv/versions/rbx-2.0.0-dev/gems/1.9/gems/celluloid-0.12.3/lib/celluloid/tasks/task_fiber.rb:22:in `initialize' |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| require 'celluloid' | |
| require 'open-uri' | |
| URI.parse("http://google.com").read | |
| => # the body of google.com | |
| class Fetcher | |
| include Celluloid | |
| def fetch(url) | |
| URI.parse(url).read | |
| end | |
| end | |
| f = Fetcher.new | |
| => #<Celluloid::Actor(Fetcher:0x2660)> | |
| f.fetch("http://google.com") | |
| => # the body of google.com |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment