couchdb-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Apache Wiki <>
Subject [Couchdb Wiki] Update of "Troubleshooting" by NoahSlater
Date Sat, 29 Oct 2011 17:42:12 GMT
Dear Wiki user,

You have subscribed to a wiki page or wiki category on "Couchdb Wiki" for change notification.

The "Troubleshooting" page has been changed by NoahSlater:

  == Upgrade ==
- Have you built CouchDB from the Subversion repository?
+ Built CouchDB directly from the Git repository?
- Did you do a `svn up` that seemed to break everything?
+ Did you do a `git pull` that seemed to break everything?
- After every update you must run the following command:
+ After every update to the source, you must run the following command:
- If you still have problems building try the next troubleshooting tip.
  == First Run ==
@@ -64, +62 @@

   8. Report back to the mailing list (or IRC) with the output from each step.
- == Misc Errors ==
+ == Miscellaneous errors ==
  CouchDB using a lot of memory (several hundred MB) on startup?  This one seems to especially
affect Dreamhost installs.  It's really an issue with the Erlang VM pre-allocating data structures
when ulimit is very large or unlimited.  A detailed dicussion can be found [[|on
the erlang-questions list]], but the short answer is that you should decrease ulimit -n or
define ERL_MAX_PORTS to something reasonable like 1024.
  Erlang backtraces are quite "hard" to read for non-Erlangers. The list here tries to give
keywords to help you pinpointing your problem and suggests possible solutions
@@ -72, +71 @@

   system_limit, erlang, open_port:: Erlang has a default limit of 1024 ports, where each
FD, tcp connection, and linked-in driver uses one port. You seem to have exceeded this. You
can change it at runtime using the ERL_MAX_PORTS env variable.
   (by Adam Kocoloski, [[]])
+ == Segmentation faults and bus errors ==
+ If CouchDB is crashing intermittently with a segmentation fault or a bus error, there's
a good chance that OpenSSL is to blame. Mac OS X Lion ships with a version of OpenSSL that
deprecates various functions used by OTP's crypto NIF. If this is the case, follow the steps
below to fix the problem.
+ Get an older OpenSSL, for example:
+ Extract the tarball and build OpenSSL like this:
+ {{{
+ ./Configure --prefix=/Users/fdmanana/my-openssl  darwin64-x86_64-cc
+ make
+ make test
+ make install
+ }}}
+ Then build Erlang OTP like this:
+ {{{
+ CC=gcc-4.2 CXX=g++-4.2 ./configure --prefix=/opt/otp-dev --enable-darwin-64bit --with-ssl=/Users/fdmanana/my-openssl
+ make
+ make install
+ }}}
  == Map/Reduce debugging ==
  You can debug your Map and Reduce functions in the js command line. The fact that documents
and function definitions are real javascript code makes it trivial to copy and paste both
into SpiderMonkey.
  First you assign a document to a variable. I like to copy from the Source tab of a doc in

View raw message