couchdb-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Damien Katz (JIRA)" <j...@apache.org>
Subject [jira] Updated: (COUCHDB-275) couch crashes erlang vm under heavy load
Date Tue, 10 Mar 2009 21:37:50 GMT

     [ https://issues.apache.org/jira/browse/COUCHDB-275?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]

Damien Katz updated COUCHDB-275:
--------------------------------

    Attachment: term_to_binary_fix.diff

This is patch to the Erlang vm for this crash. It fixes a problem with Erlang's term_to_binary
code where it blows the C stack on deeply nested terms (ie deep trees). Example, this will
crash any unpatched erlang VM:

> term_to_binary(lists:foldl(fun(E,A) -> [E, A] end, [], lists:seq(1, 100000))).


This patch fixes the Erlang vm by changing the the term_to_binary code from a recursive C
implementation to one using it's own stack.

> couch crashes erlang vm under heavy load
> ----------------------------------------
>
>                 Key: COUCHDB-275
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-275
>             Project: CouchDB
>          Issue Type: Bug
>    Affects Versions: 0.9
>         Environment: Linux melkjug.com 2.6.23-gentoo-r8 #1 SMP Wed Feb 13 14:28:49 EST
2008 x86_64 QEMU Virtual CPU version 0.9.1 GenuineIntel GNU/Linux
>            Reporter: Joshua Bronson
>         Attachments: 2009-03-05-couch.log.snippet, term_to_binary_fix.diff
>
>
> I clicked "Compact" in futon for my 11G database at 9:04 AM EST:
> [Mon, 02 Mar 2009 14:04:32 GMT] [info] [<0.59.0>] Starting compaction for db "melkjug"
> An hour and a half later it was 85% finished and then the following was output to stderr:
> heart: Mon Mar  2 10:33:20 2009: heart-beat time-out.
> /usr/bin/couchdb: line 255: echo: write error: Broken pipe
> heart: Mon Mar  2 10:33:22 2009: Executed "/usr/bin/couchdb -k". Terminating.
> I am retaining my 4.3G melkjug.couch.compact file in case it's useful in debugging this.

-- 
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