couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Randall Leeds (JIRA)" <j...@apache.org>
Subject [jira] Created: (COUCHDB-761) Timeouts in couch_log are masked, crashes callers
Date Thu, 13 May 2010 23:01:45 GMT
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.11, 0.10.2, 0.10.1
            Reporter: Randall Leeds
             Fix For: 0.10.3, 0.11.1, 1.0


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<>, <integer>}.

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.


Mime
View raw message