Details

Description

Very simply, if you call libcouchbase_wait() without queuing some operation first (e.g store a key/value, arithmetic, etc...)
the call to libcouchbase_wait() never returns.

This means that a single threaded application that calls libcouchbase_wait() at different times to make sure operations are sent to the server runs the risk of stalling indefinitely. This is a very likely scenario.

I've attached a simple proof of concept, which never completes. If you uncomment the store operation, the program completes successfully.