To anyone who might be struggling with cbbackup hanging indefinitely, as I was, I may have a workaround for you.
DISCLAIMER: This workaround is provided as is, with no warranty whatsoever. Use at your own risk.
The workaround is intended for those that are running Couchbase Server 3.0.1 Community Edition. It combines a couple of suggestions in the comments from https://issues.couchbase.com/browse/MB-14833 with an important twist.
As mentioned in the issue’s comments, you should reverse the order of DCPStreamSource and TAPDumpSource in the SOURCES property of lib/python/pump_transfer.py. Also, you will have to acquire a newer version of couchbase-cli (https://github.com/couchbase/couchbase-cli) than is shipped with 3.0.1 CE so that backups can run sequentially. Using revision c1209a3 or later of couchbase-cli will make sequential the default behaviour (though it can be overridden by the --parallelism flag).
For your convenience, you can download a pre-packaged copy of the workaround from https://s3-us-west-1.amazonaws.com/kashoo-public/custom-couchbase-cli.zip. It contains a fully isolated and patched copy of Couchbase Server’s CLI utilities as described above.
Note that the workaround has only been tested on CentOS 6.5; your mileage may vary with other distros and OSes. Also, while the pre-packaged workaround mimics the partial directory structure of a Couchbase Server installation, the archive is completely self contained, so it is highly recommended that its contents be extracted to its own isolated directory rather than overwriting the corresponding files from the Couchbase Server directory.