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

Cluster time failure on /Topology/invalid_cluster_node

    • Type: Icon: Bug Bug
    • Resolution: Fixed
    • Priority: Icon: Major - P3 Major - P3
    • 1.10.0
    • Affects Version/s: None
    • Component/s: None
    • Labels:
      None

      This failure on evergreen https://evergreen.mongodb.com/task/mongo_c_driver_clang38_i386_test_3.6_sharded_cluster_noauth_nosasl_nossl_8d4c916c2a2f80a682af20b2d1169624681bfd48_18_03_23_11_52_18

      Failed on a seemingly straightforward assertion about the timestamp on a cluster_node_t.

      The failure seems to suggest that there's an integer overflow somewhere.

      [2018/03/23 10:21:40.250] Assert Failure: 4294573995 < 607012
      [2018/03/23 10:21:40.250] tests/test-mongoc-topology.c:430  test_invalid_cluster_node()
      

      The right-hand side timestamp is generated one second after the left. Assuming it wraps at UINT32_MAX, then the values do make sense:

      (UINT32_MAX - 4294573995) + 607012 = 1000313 // about one second
      

      From what I've on a spawn host for Ubuntu 16.04 with the artifacts I haven't determined if/where the overflow is occurring. For now, we should try printing out any additional information on another potential future failure.

            Assignee:
            kevin.albertson@mongodb.com Kevin Albertson
            Reporter:
            kevin.albertson@mongodb.com Kevin Albertson
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: