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: