Uploaded image for project: 'Couchbase C client library libcouchbase'
  1. Couchbase C client library libcouchbase
  2. CCBC-59

libcouchbase_wait() blocks forever if there is nothing queued

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Critical
    • Resolution: Fixed
    • Affects Version/s: 1.0, 1.0.2
    • Fix Version/s: None
    • Component/s: library
    • Security Level: Public
    • Labels:
    • Environment:
      Linux Centos 5.7

      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.

      # Subject Project Status CR V
      For Gerrit Dashboard: &For+CCBC-59=message:CCBC-59

        Activity

        Hide
        avsej Sergey Avseyev added a comment -
        Show
        avsej Sergey Avseyev added a comment - Fix published http://review.couchbase.org/14696

          People

          • Assignee:
            avsej Sergey Avseyev
            Reporter:
            jamesoc James
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Time Tracking

              Estimated:
              Original Estimate - 8h
              8h
              Remaining:
              Remaining Estimate - 8h
              8h
              Logged:
              Time Spent - Not Specified
              Not Specified

                Gerrit Reviews

                There are no open Gerrit changes