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

Crash in assertion

    XMLWordPrintable

Details

    • Bug
    • Status: Closed
    • Blocker
    • Resolution: Fixed
    • 2.8.1
    • 3.0
    • LiteCore
    • Security Level: Public
    • None
    • Jim 52
    • 5

    Description

      Core is crashing on this assertion:

         void ValueSlot::setPointer(const Value *v) {
              precondition(v != nullptr);
              if (_usuallyFalse(v == pointer()))
                  return;
              releaseValue();
              _pointer = uint64_t(size_t(retain(v)));
      >>>     assert(isPointer());
          }
      

      Jianmin Zhao asserts that there has been no change in the code that could cause this, since 2020. Oddlly, the Android/Java tests have suddenly started failing.

      Attachments

        1. crash.log
          41 kB
        2. crash-1.log
          137 kB
        3. crash-2.log
          3.80 MB
        No reviews matched the request. Check your Options in the drop-down menu of this sections header.

        Activity

          jens Jens Alfke added a comment -

          Jim Borden figured out it's due to a change in Android 11: they've added some sort of pointer tagging that makes the high byte of a pointer nonzero.

          In response I've changed the way ValueSlot tags non-pointers.

          Fix is https://github.com/couchbaselabs/fleece/pull/104

          jens Jens Alfke added a comment - Jim Borden  figured out it's due to a change in Android 11: they've added some sort of pointer tagging that makes the high byte of a pointer nonzero. In response I've changed the way ValueSlot tags non-pointers. Fix is  https://github.com/couchbaselabs/fleece/pull/104
          jimb Jim Borden added a comment -

          Fix in the above noted PR

          jimb Jim Borden added a comment - Fix in the above noted PR
          blake.meike Blake Meike added a comment -

          It seems to work. As I said in the PR, I cherry-picked the commit onto master and tested it out. I got a clean run with no errors, built for ARM-64 and deployed on Android 30.

          And idea when this will get to master?

          blake.meike Blake Meike added a comment - It seems to work. As I said in the PR, I cherry-picked the commit onto master and tested it out. I got a clean run with no errors, built for ARM-64 and deployed on Android 30. And idea when this will get to master?

          Build couchbase-lite-android-3.0.0-161 contains couchbase-lite-java-ee-root commit 14bf7a8 with commit message:
          Re-include tests failing because of CBL-2182

          build-team Couchbase Build Team added a comment - Build couchbase-lite-android-3.0.0-161 contains couchbase-lite-java-ee-root commit 14bf7a8 with commit message: Re-include tests failing because of CBL-2182

          Build couchbase-lite-java-3.0.0-162 contains couchbase-lite-java-ee-root commit 14bf7a8 with commit message:
          Re-include tests failing because of CBL-2182

          build-team Couchbase Build Team added a comment - Build couchbase-lite-java-3.0.0-162 contains couchbase-lite-java-ee-root commit 14bf7a8 with commit message: Re-include tests failing because of CBL-2182

          People

            jimb Jim Borden
            blake.meike Blake Meike
            Votes:
            0 Vote for this issue
            Watchers:
            3 Start watching this issue

            Dates

              Created:
              Updated:
              Resolved:

              Gerrit Reviews

                There are no open Gerrit changes

                PagerDuty