CouchDb 3.5.0 Download broken for Mac (x86_64)
Description
It seems the CouchDB 3.5.0 binary for Mac (x86_64) is broken. When downloading the binary via 'https://couchdb.neighbourhood.ie/downloads/3.5.0/mac/x86_64/Apache-CouchDB.zip', the downloaded binary shows the version 3.4.3 instead of 3.5.0. When installing this version, I get errors when creating views in an empty database.
[error] 2025-06-10T10:36:40.975010Z couchdb@localhost <0.1105.0> -------- OS Process Error <0.1107.0> :: {os_process_error,{exit_status,134}}
[info] 2025-06-10T10:36:40.975063Z couchdb@localhost <0.289.0> -------- couch_proc_manager <0.1107.0> died normal
Also, the link to download 3.4.3 on the website (https://couchdb.apache.org/#download) actually points to the corrupt 3.5.0 version.
When downloading/installing Couchdb 3.4.3 via https://couchdb.neighbourhood.ie/downloads/3.4.3/mac/x86_64/Apache-CouchDB.zip, everything is fine.
Steps to Reproduce
- Download Couchdb from here: https://couchdb.neighbourhood.ie/downloads/3.5.0/mac/x86_64/Apache-CouchDB.zip
- Install.
- Create a database.
- Create a view for this database.
Expected Behaviour
The Couchdb version of the downloaded binary should be 3.5.0 and creating views should work without errors.
Your Environment
- CouchDB version used: 3.5.0
- Browser name and version: Firefox 139.0.1
- Operating system and version: macOS 15.5 on an Intel Mac.
Curious if you have a chance to test, does this happen with both the default Spidermonkey and the QuickJS engines?
You can toggle the config with https://docs.couchdb.org/en/stable/config/couchdb.html#couchdb/js_engine and restart and see if it's the same error.
Exit status 134 indicates a SIGABRT exit, which could also be from an out of memory or stack overflow perhaps or hit some internal assert?
Changing the js engine to QuickJS seems to solve the "exit status 134" problem.
Thanks for trying it out @StephanU. It points to an issue with the spidermonkey process only then.
If you want you can keep it on QuickJS. We converted almost all our clusters at Cloudant to QuickJS already and have been running with it in production for more than half a year now.
There are some minor incompatibilities https://docs.couchdb.org/en/stable/best-practices/jsdevel.html#quickjs-vs-spidermonkey-incompatibilities. Most incompatibilities we found were actually between the older Spidermonkey 1.8.5 vs later Spidermonkey 91 or QuickJS versions not between QuickJS and recent Spidermonkey versions.
I think it’s a packaging problem of the macOS convenience binary (I guess a missing SpiderMonkey dylib). See #4381 and #4372.
You could test it if you install SpiderMonkey via brew install spidermonkey and try to run the CouchDB macOS app again.
A little inspection:
Trying to run couchjs gives:
big-r@EiMac:~/Downloads/Apache CouchDB.app/Contents/Resources/couchdbx-core/bin$ ./couchjs -V
dyld[81295]: Library not loaded: lib/libmozjs-128.dylib
Referenced from: <E75FB9F3-7E41-3E00-AD64-3E2D43946132> /Users/big-r/Downloads/Apache CouchDB.app/Contents/Resources/couchdbx-core/bin/couchjs (built for macOS 15.0 which is newer than running OS)
Reason: tried: 'lib/libmozjs-128.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OSlib/libmozjs-128.dylib' (no such file), 'lib/libmozjs-128.dylib' (no such file)
Abort trap: 6
Looking at the linked libraries. The libraries are in the lib directory, but I think the path is wrong.
big-r@EiMac:~/Downloads/Apache CouchDB.app/Contents/Resources/couchdbx-core/bin$ otool -L ./couchjs
./couchjs:
lib/libmozjs-128.dylib (compatibility version 1.0.0, current version 1.0.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1351.0.0)
/usr/lib/libc++.1.dylib (compatibility version 1.0.0, current version 1800.105.0)
Trying to append the lib directory gives:
big-r@EiMac:~/Downloads/Apache CouchDB.app/Contents/Resources/couchdbx-core/bin$ DYLD_LIBRARY_PATH=./../lib/:$DYLD_LIBRARY_PATH ./couchjs -V
dyld[81298]: Symbol not found: _ureldatefmt_formatNumeric_76
Referenced from: <1A37D60A-5A92-3E8F-A9E4-03F0519C87E6> /Users/big-r/Downloads/Apache CouchDB.app/Contents/Resources/couchdbx-core/lib/libmozjs-128.dylib
Expected in: <5358CA0B-E943-3B4F-89CB-0A5612C3C51B> /Users/big-r/Downloads/Apache CouchDB.app/Contents/Resources/couchdbx-core/lib/libicui18n.77.1.dylib
Abort trap: 6
cc @janl ^
I think it’s a packaging problem of the macOS convenience binary (I guess a missing SpiderMonkey dylib). See #4381 and #4372.
You could test it if you install SpiderMonkey via
brew install spidermonkeyand try to run the CouchDB macOS app again.
I installed SpiderMonkey (128.11.0), changed the JS Engine to 'spidermonkey', restarted CouchDB and the error is back.