From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on dcvr.yhbt.net X-Spam-Level: X-Spam-ASN: AS14383 205.234.109.0/24 X-Spam-Status: No, score=0.0 required=3.0 tests=MSGID_FROM_MTA_HEADER shortcircuit=no autolearn=unavailable version=3.3.2 Path: news.gmane.org!not-for-mail From: "Lin Jen-Shin (godfat)" Newsgroups: gmane.comp.lang.ruby.rainbows.general Subject: Weird app error: uninitialized fiber (FiberError) Date: Fri, 30 Dec 2011 08:28:25 +0800 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: dough.gmane.org 1325204955 19947 80.91.229.12 (30 Dec 2011 00:29:15 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 30 Dec 2011 00:29:15 +0000 (UTC) Cc: "Lin Jen-Shin \(godfat\)" To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Original-X-From: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Fri Dec 30 01:29:11 2011 Return-path: Envelope-to: gclrrg-rainbows-talk@m.gmane.org X-Original-To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Delivered-To: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=godfat.org; s=google; h=mime-version:from:date:message-id:subject:to:cc:content-type; bh=TTfWNQgyf7Og470M+bO+LZkGTaE3IgPVYp1+QAwovJk=; b=BDFQQd/E1jF3Ubl3n5U8kdu/ihEoYHrKS5FPDXIUXSjLLpaozqDDKcr6ZhKDSHVReX I3yoRvUy06IO9uQmEu1KENI0BBccuTPqauxTP7a9Ot3+lx6cIYr7jkwgHDmWPtQUb48L ZT2hDN6hhwKdcrRnspMN+VbMG5IOXb5AvIFHc= X-BeenThere: rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Errors-To: rainbows-talk-bounces-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org Xref: news.gmane.org gmane.comp.lang.ruby.rainbows.general:314 Archived-At: Received: from rubyforge.org ([205.234.109.19]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1RgQLN-0004PD-8b for gclrrg-rainbows-talk@m.gmane.org; Fri, 30 Dec 2011 01:29:09 +0100 Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id 811B51678369; Thu, 29 Dec 2011 19:29:07 -0500 (EST) Received: from mail-gx0-f178.google.com (mail-gx0-f178.google.com [209.85.161.178]) by rubyforge.org (Postfix) with ESMTP id 558FD185837C for ; Thu, 29 Dec 2011 19:28:56 -0500 (EST) Received: by ggnq4 with SMTP id q4so10238447ggn.23 for ; Thu, 29 Dec 2011 16:28:56 -0800 (PST) Received: by 10.101.174.6 with SMTP id b6mr14823282anp.61.1325204936271; Thu, 29 Dec 2011 16:28:56 -0800 (PST) Received: by 10.236.110.51 with HTTP; Thu, 29 Dec 2011 16:28:25 -0800 (PST) Hello Rainbows, I was trying to `use :CoolioFiberSpawn` with `Rainbows.sleep` to simulate asynchrony HTTP requests. However, I keep seeing weird "app error: uninitialized fiber (FiberError)". I spent a few hours (ouch) tracking down to a simple case. Suppose I have a Rack app which has `Rainbows.sleep` inside a each block: https://gist.github.com/1536857 (I am running Ruby 1.9.3) class Weird def call env=nil [1].each{ # if you comment out the each block, then it works Rainbows.sleep 2 } [200, {}, ["ok\n"]] end end Then `run Weird.new` would always cause app error: uninitialized fiber (FiberError) But if I took out the each block inside Weird#call, such like: class Weird def call env=nil Rainbows.sleep 2 [200, {}, ["ok\n"]] end end Then it works fine. Moreover, if I run the app like this: run lambda{ |env| Weird.new.call } Then both with or without the each block would work. Could you please explain this for me? Or is it a bug somewhere? Thanks!! _______________________________________________ Rainbows! mailing list - rainbows-talk-GrnCvJ7WPxnNLxjTenLetw@public.gmane.org http://rubyforge.org/mailman/listinfo/rainbows-talk Do not quote signatures (like this one) or top post when replying