Uploaded image for project: 'Couchbase Lite'
  1. Couchbase Lite
  2. CBL-146

Custom Conflict resolution is throwing exception for iOS app when trying to resolve conflict

    XMLWordPrintable

    Details

    • Type: Bug
    • Status: Closed
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: 2.6.0
    • Fix Version/s: 2.6.0
    • Component/s: iOS
    • Security Level: Public
    • Labels:
    • Environment:
      iOS, emulator iPhone-8-plus
    • CVSS/Severity:
      Critical

      Description

      Custom Conflict resolution is throwing exception for iOS app when trying to resolve conflict

      Steps to reproduce the issue -
      1. Checkout https://github.com/couchbaselabs/mobile-testkit.git
      2. Checkout branch - feature/cbl-2.6-custom-conflict
      3. Deploy iOS app using Xcode for build 2.6.0-137. (latestbuild app will not have CCR changes, so deploy locally built app )
      4. Run the test -
      pytest -rsx -s --skip-provisioning --timeout 3600 --liteserv-version=2.6.0-137 --liteserv-host=localhost --liteserv-port=8080 --no-conflicts --enable-file-logging --delta-sync --sync-gateway-version=2.5.0 --mode=cc --server-version=6.0.1-2037 --liteserv-platform=ios --create-db-per-test=cbl-test -k test_local_wins_custom_conflicts["pull"] testsuites/CBLTester/CBL_Functional_tests/TestSetup_FunctionalTests/test_custom_conflicts.py

      CCR API code is available at - https://github.com/couchbaselabs/mobile-testkit/blob/feature/cbl-2.6-custom-conflict/CBLClient/Apps/CBLTestServer-iOS/CBLTestServer-iOS/Server/ReplicatorConfigurationRequestHandler.swift#L278

        Attachments

        1. cbl_client_ios.log
          163 kB
        2. logs1562687183.603713.zip
          14 kB
        3. Screenshot 2019-07-09 21.14.15.png
          Screenshot 2019-07-09 21.14.15.png
          2.37 MB
        4. stacktrace.png
          stacktrace.png
          1.60 MB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

          Hide
          Jayahari.Vavachan Jayahari Vavachan added a comment - - edited

          Hi Hemant,

          Could you please check the below questions?

          • delta sync disabled vs enabled. is it failing when disabled delta sync?
          • What about the ObjC test?
          • is it passing before 2.6.0(137).
          • what about the default conflict resolver? is it failing?
          Show
          Jayahari.Vavachan Jayahari Vavachan added a comment - - edited Hi Hemant, Could you please check the below questions? delta sync disabled vs enabled. is it failing when disabled delta sync? What about the ObjC test? is it passing before 2.6.0(137). what about the default conflict resolver? is it failing?
          Hide
          hemant.rajput Hemant Rajput added a comment - - edited

          >>delta sync disabled vs enabled. is it failing when disabled delta sync?
          Yes, it's failing with delta_sync disabled

          >> What about the ObjC test?
          We don't have ObjC app. We don't do any testing for ObjC code

          >> is it passing before 2.6.0(137).
          Tried with build 2.6.0-135. It's failing with this build too.

          >> what about the default conflict resolver? is it failing?
          Default config resolver is not throwing any error and tests are passing for default config

          Show
          hemant.rajput Hemant Rajput added a comment - - edited >>delta sync disabled vs enabled. is it failing when disabled delta sync? Yes, it's failing with delta_sync disabled >> What about the ObjC test? We don't have ObjC app. We don't do any testing for ObjC code >> is it passing before 2.6.0(137). Tried with build 2.6.0-135. It's failing with this build too. >> what about the default conflict resolver? is it failing? Default config resolver is not throwing any error and tests are passing for default config
          Hide
          Jayahari.Vavachan Jayahari Vavachan added a comment -

          So far I can find that the CBLConflictResolverBridge class is not displayed in Hemant's stack trace but mine does.

          Show
          Jayahari.Vavachan Jayahari Vavachan added a comment - So far I can find that the CBLConflictResolverBridge class is not displayed in Hemant's stack trace but mine does.
          Hide
          Jayahari.Vavachan Jayahari Vavachan added a comment -

          I am able to reproduce it with the binary. I will further analyze more on this.

          Show
          Jayahari.Vavachan Jayahari Vavachan added a comment - I am able to reproduce it with the binary. I will further analyze more on this.
          Hide
          build-team Couchbase Build Team added a comment -

          Build couchbase-lite-ios-2.6.0-138 contains couchbase-lite-ios commit 8581225 with commit message:
          CBL-146: fix: swift header missing issue (#2529)

          Show
          build-team Couchbase Build Team added a comment - Build couchbase-lite-ios-2.6.0-138 contains couchbase-lite-ios commit 8581225 with commit message: CBL-146 : fix: swift header missing issue (#2529)
          Hide
          Jayahari.Vavachan Jayahari Vavachan added a comment -

          Hemant Rajput, can you check the latest build. we verified this fix in a local project.

          Show
          Jayahari.Vavachan Jayahari Vavachan added a comment - Hemant Rajput , can you check the latest build. we verified this fix in a local project.
          Hide
          hemant.rajput Hemant Rajput added a comment -

          Tested with build 2.6.0-138, not seeing any crash.

          Show
          hemant.rajput Hemant Rajput added a comment - Tested with build 2.6.0-138, not seeing any crash.

            People

            • Assignee:
              hemant.rajput Hemant Rajput
              Reporter:
              hemant.rajput Hemant Rajput
            • Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved:

                Gerrit Reviews

                There are no open Gerrit changes

                  PagerDuty

                  Error rendering 'com.pagerduty.jira-server-plugin:PagerDuty'. Please contact your Jira administrators.