Return-Path: Delivered-To: apmail-couchdb-dev-archive@www.apache.org Received: (qmail 44922 invoked from network); 18 May 2010 12:49:11 -0000 Received: from unknown (HELO mail.apache.org) (140.211.11.3) by 140.211.11.9 with SMTP; 18 May 2010 12:49:11 -0000 Received: (qmail 94327 invoked by uid 500); 18 May 2010 12:49:10 -0000 Delivered-To: apmail-couchdb-dev-archive@couchdb.apache.org Received: (qmail 93903 invoked by uid 500); 18 May 2010 12:49:09 -0000 Mailing-List: contact dev-help@couchdb.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: dev@couchdb.apache.org Delivered-To: mailing list dev@couchdb.apache.org Received: (qmail 93895 invoked by uid 99); 18 May 2010 12:49:08 -0000 Received: from nike.apache.org (HELO nike.apache.org) (192.87.106.230) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 May 2010 12:49:08 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.22] (HELO thor.apache.org) (140.211.11.22) by apache.org (qpsmtpd/0.29) with ESMTP; Tue, 18 May 2010 12:49:06 +0000 Received: from thor (localhost [127.0.0.1]) by thor.apache.org (8.13.8+Sun/8.13.8) with ESMTP id o4ICmiNS029073 for ; Tue, 18 May 2010 12:48:45 GMT Message-ID: <4970494.104491274186924616.JavaMail.jira@thor> Date: Tue, 18 May 2010 08:48:44 -0400 (EDT) From: "Adam Kocoloski (JIRA)" To: dev@couchdb.apache.org Subject: [jira] Commented: (COUCHDB-761) Timeouts in couch_log are masked, crashes callers In-Reply-To: <25703564.29181273791705907.JavaMail.jira@thor> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 7bit X-JIRA-FingerPrint: 30527f35849b9dde25b450d4833f0394 X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/COUCHDB-761?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12868629#action_12868629 ] Adam Kocoloski commented on COUCHDB-761: ---------------------------------------- Oh, we definitely have to update the handle_event function in couch_log. For example, instead of handle_event({error_report, _, {Pid, couch_error, {Format, Args}}}, {Fd, _LogLevel}=State) -> ... it would be handle_event({couch, error, Msg, {Fd, _LogLevel}=State) -> ... couch_log already has a separate clause for SASL error messages, so no worries there. error_logger won't ignore messages in this format; it'll forward them to the various handlers (including couch_log) just fine. > Timeouts in couch_log are masked, crashes callers > ------------------------------------------------- > > Key: COUCHDB-761 > URL: https://issues.apache.org/jira/browse/COUCHDB-761 > Project: CouchDB > Issue Type: Bug > Components: Database Core > Affects Versions: 0.10.1, 0.10.2, 0.11 > Reporter: Randall Leeds > Priority: Blocker > Fix For: 0.10.3, 0.11.1, 1.0 > > Attachments: improved-sync-logging.patch > > > Several users have reported seeing crash reports stemming from a function_clause match on handle_info in various gen_servers. The offending message looks like {#Ref<>, }. > After months of banter and sleuthing, I determined that the likely cause was a late reply to a gen_server:call that timed out, with the #Ref being the tag on the response. After it came up again today in IRC, kocolosk quickly discovered that the problem appears to be in couch_log.erl. > The logging macros (?LOG_*) call couch_log/*_on which calls get_level_integer/0. When this call times out the timeout is eaten and a late reply arrives to the calling process later, triggering the crash. > Suggestions on how to fix this welcome. Ideas so far are async logging or infinite timeout. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.