Uploaded image for project: 'C Driver'
  1. C Driver
  2. CDRIVER-1922

Assertion failure in stream_not_found() after failed getmore operation

    • Type: Icon: Bug Bug
    • Resolution: Done
    • Priority: Icon: Major - P3 Major - P3
    • 1.5.0, 1.5.1
    • Affects Version/s: 1.5.0
    • Component/s: libmongoc
    • None

      PHPC has two tests for throwing an exception on a failed getmore. These tests spin up their own server with mongo-orchestration and configure the failReceivedGetmore fail point.

      After upgrading from 1.5.0-rc3 to 1.5.0-rc4, both of these tests trigger an assert failure in libmongoc:

      phpc/src/libmongoc/src/mongoc/mongoc-cluster.c:1470 stream_not_found(): precondition failed: error
      Aborted (core dumped)
      
      Termsig=6
      

      Based on the libmongoc trace log, this assert failure happens when the mongoc_client_t is destroyed during process shutdown. Our trace logs end with:

      OK: Got MongoDB\Driver\Exception\ConnectionException
      ===DONE===
      [2016-11-16T17:03:21+00:00]     cursor: TRACE   > ENTRY: mongoc_cursor_destroy():493
      [2016-11-16T17:03:21+00:00] cursor-cursorid: TRACE   > ENTRY: _mongoc_cursor_cursorid_destroy():53
      [2016-11-16T17:03:21+00:00]     cursor: TRACE   > ENTRY: _mongoc_cursor_destroy():510
      [2016-11-16T17:03:21+00:00]     client: TRACE   > ENTRY: _mongoc_client_kill_cursor():1608
      [2016-11-16T17:03:21+00:00]    cluster: TRACE   > ENTRY: mongoc_cluster_stream_for_server():1541
      [2016-11-16T17:03:21+00:00]    cluster: TRACE   > ENTRY: _mongoc_cluster_stream_for_server_description():1475
      [2016-11-16T17:03:21+00:00]    cluster: TRACE   > ENTRY: mongoc_cluster_disconnect_node():1305
      [2016-11-16T17:03:21+00:00]    cluster: TRACE   >  EXIT: mongoc_cluster_disconnect_node():1317
      [2016-11-16T17:03:21+00:00]     mongoc: TRACE   > ENTRY: mongoc_server_description_handle_ismaster():472
      [2016-11-16T17:03:21+00:00]     mongoc: TRACE   >  EXIT: mongoc_server_description_handle_ismaster():478
      [2016-11-16T17:03:21+00:00]     mongoc: TRACE   > TRACE: mongoc_topology_description_handle_ismaster():1674 No transition entry to Single for Unknown
      [2016-11-16T17:03:21+00:00]    cluster: TRACE   >  EXIT: _mongoc_cluster_stream_for_server_description():1507
      [2016-11-16T17:03:21+00:00]    cluster: TRACE   > ENTRY: mongoc_cluster_disconnect_node():1305
      [2016-11-16T17:03:21+00:00]    cluster: TRACE   >  EXIT: mongoc_cluster_disconnect_node():1317
      [2016-11-16T17:03:21+00:00]     mongoc: TRACE   > ENTRY: mongoc_server_description_destroy():151
      [2016-11-16T17:03:21+00:00]     mongoc: TRACE   >  EXIT: mongoc_server_description_destroy():157
      [2016-11-16T17:03:21+00:00]    cluster: TRACE   >  EXIT: mongoc_cluster_stream_for_server():1563
      [2016-11-16T17:03:21+00:00]     cursor: TRACE   >  EXIT: _mongoc_cursor_destroy():549
      [2016-11-16T17:03:21+00:00] cursor-cursorid: TRACE   >  EXIT: _mongoc_cursor_cursorid_destroy():62
      [2016-11-16T17:03:21+00:00]     cursor: TRACE   >  EXIT: mongoc_cursor_destroy():503
      [2016-11-16T17:03:21+00:00]     mongoc: TRACE   > ENTRY: _mongoc_write_command_destroy():1451
      [2016-11-16T17:03:21+00:00]     mongoc: TRACE   >  EXIT: _mongoc_write_command_destroy():1457
      [2016-11-16T17:03:21+00:00]     mongoc: TRACE   > ENTRY: _mongoc_write_result_destroy():1481
      [2016-11-16T17:03:21+00:00]     mongoc: TRACE   >  EXIT: _mongoc_write_result_destroy():1489
      [2016-11-16T17:03:21+00:00]     mongoc: DEBUG   > Not destroying persistent client for Manager
      

            Assignee:
            jesse@mongodb.com A. Jesse Jiryu Davis
            Reporter:
            jmikola@mongodb.com Jeremy Mikola
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: