couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Adam Kocoloski (JIRA)" <>
Subject [jira] Commented: (COUCHDB-761) Timeouts in couch_log are masked, crashes callers
Date Tue, 18 May 2010 12:48:44 GMT


Adam Kocoloski commented on COUCHDB-761:

Oh, we definitely have to update the handle_event function in couch_log.  For example, instead

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:
>             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<>, <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
> 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.

View raw message