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.5 required=5.0 tests=AWL,MSGID_FROM_MTA_HEADER, RP_MATCHES_RCVD shortcircuit=no autolearn=unavailable version=3.3.2 Path: news.gmane.org!not-for-mail From: Eric Wong Newsgroups: gmane.comp.lang.ruby.unicorn.general Subject: Re: Logging errors from Unicorn Date: Fri, 4 Jun 2010 20:06:48 +0000 Message-ID: <20100604200648.GA6767@dcvr.yhbt.net> References: <977C003B-E2CA-48B9-A3E6-C126DB231EB5@nulayer.com> 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 1275682389 11347 80.91.229.12 (4 Jun 2010 20:13:09 GMT) X-Complaints-To: usenet@dough.gmane.org NNTP-Posting-Date: Fri, 4 Jun 2010 20:13:09 +0000 (UTC) To: unicorn list Original-X-From: mongrel-unicorn-bounces@rubyforge.org Fri Jun 04 22:13:06 2010 Return-path: Envelope-to: gclrug-mongrel-unicorn@m.gmane.org X-Original-To: mongrel-unicorn@rubyforge.org Delivered-To: mongrel-unicorn@rubyforge.org Content-Disposition: inline In-Reply-To: <977C003B-E2CA-48B9-A3E6-C126DB231EB5@nulayer.com> User-Agent: Mutt/1.5.18 (2008-05-17) X-BeenThere: mongrel-unicorn@rubyforge.org X-Mailman-Version: 2.1.12 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: mongrel-unicorn-bounces@rubyforge.org Errors-To: mongrel-unicorn-bounces@rubyforge.org Xref: news.gmane.org gmane.comp.lang.ruby.unicorn.general:535 Archived-At: Received: from rubyforge.org ([205.234.109.19]) by lo.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1OKdGL-0006DJ-T3 for gclrug-mongrel-unicorn@m.gmane.org; Fri, 04 Jun 2010 22:13:06 +0200 Received: from rubyforge.org (rubyforge.org [127.0.0.1]) by rubyforge.org (Postfix) with ESMTP id E6E7C1858348; Fri, 4 Jun 2010 16:13:04 -0400 (EDT) Received: from dcvr.yhbt.net (dcvr.yhbt.net [64.71.152.64]) by rubyforge.org (Postfix) with ESMTP id D43821858335 for ; Fri, 4 Jun 2010 16:06:49 -0400 (EDT) Received: from localhost (unknown [127.0.2.5]) by dcvr.yhbt.net (Postfix) with ESMTP id EE84C1F4F9; Fri, 4 Jun 2010 20:06:48 +0000 (UTC) Peter Kieltyka wrote: > Hey guys, > > I'm running a Rails 3 beta3 application using Ruby 1.9.2-preview3 and > it has been running fairly well, however every now and then (usually > when under high load), I see error messages like: > > 2010/06/04 14:34:29 [error] 1884#0: *8844 upstream prematurely closed > connection while reading response header from upstream, client: > 119.235.237.93, server: portal.crowdreel.com, request: "GET > /post/18Vmy HTTP/1.1", upstream: > "http://unix:/home/app/crowdreel-portal/tmp/sockets/unicorn.sock:/post/18Vmy", > host: "crowdreel.com" > > ... a lot of these messages.. this is a pretty heavy duty server with > lots of ram. > > I have a setup similar to what I read up on github's blog as in: nginx > -> unicorns via a socket upstream. > > My unicorn.rb file looks like: > > -------- > > # 16 workers and 1 master > worker_processes 16 > > # Load the app into the master before forking workers for super-fast worker spawn times > preload_app false > > # Restart any workers that haven't responded in 30 seconds > timeout 45 > > # Listen on a Unix data socket > listen File.expand_path(File.dirname(__FILE__)+'/../tmp/sockets/unicorn.sock'), :backlog => 2048 > > ---------- > I don't preload the app because I start running into annoying issues > where my workers use the same db connection, so instead I just have > them load their own instance, its very fast to start up anyways. > > I've read everything I could on this issue and exhausted Google, which > leaves me to think the only thing left is some incompatibilities with > 1.9.2. So I was wondering, how can I get logs from unicorn's > workers/master to know what is happening to these workers, perhaps > something is segfaulting? Hi Peter, Set stderr_path in your unicorn config file so Unicorn can log its errors to a file. Otherwise Unicorn will send all errors to /dev/null when daemonized. I shall emphasize the importance of stderr_path if you're using the default logger configuration in the documentation. Any chance the "/post/18Vmy" request is hitting your timeout? The only way you can know is if Unicorn logged its errors. You might also want to check your Rails log for exceptions, too, as some uncaught errors may show up there. -- Eric Wong _______________________________________________ Unicorn mailing list - mongrel-unicorn@rubyforge.org http://rubyforge.org/mailman/listinfo/mongrel-unicorn Do not quote signatures (like this one) or top post when replying