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:
http://wiki.apache.org/couchdb/Troubleshooting?action=diff&rev1=21&rev2=22

  
  == 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:
  
  {{{
  ./bootstrap
  }}}
- 
- 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 
[[http://www.erlang.org/cgi-bin/ezmlm-cgi/4/46168|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, 
[[https://bugs.edge.launchpad.net/ubuntu/+source/couchdb/+bug/459241]])
  
+ == 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:
+ 
+   http://www.openssl.org/source/openssl-0.9.8r.tar.gz
+ 
+ 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 Futon:

Reply via email to