Uploaded image for project: 'Couchbase Server'
  1. Couchbase Server
  2. MB-15676

Invalid read of size 4 in DCP Rollback task

    XMLWordPrintable

Details

    • Bug
    • Resolution: Fixed
    • Major
    • 4.5.0
    • .master
    • couchbase-bucket
    • Security Level: Public
    • None
    • Untriaged
    • Centos 64-bit
    • Unknown

    Description

      Following invalid memory access identified by Valgrind:

      ==13612== Memcheck, a memory error detector
      ==13612== Copyright (C) 2002-2013, and GNU GPL'd, by Julian Seward et al.
      ==13612== Using Valgrind-3.10.1 and LibVEX; rerun with -h for copyright info
      ==13612== Command: /home/couchbase/couchbase/build/memcached/engine_testapp -E ep.so -T ./ep_testsuite.so -e flushall_enabled=true;ht_size=13;ht_locks=7 -C 288
      ==13612== Parent PID: 7027
      ==13612== 
      ==13612== Thread 10 mc:writer_7:
      ==13612== Invalid read of size 4
      ==13612==    at 0x54A7E84: pthread_mutex_lock (pthread_mutex_lock.c:50)
      ==13612==    by 0x50417F5: cb_mutex_enter (cb_pthreads.c:115)
      ==13612==    by 0x7D765BC: Mutex::acquire() (mutex.cc:31)
      ==13612==    by 0x7D0B278: lock (locks.h:70)
      ==13612==    by 0x7D0B278: LockHolder (locks.h:47)
      ==13612==    by 0x7D0B278: doRollback (consumer.cc:633)
      ==13612==    by 0x7D0B278: RollbackTask::run() (consumer.cc:545)
      ==13612==    by 0x7D77053: ExecutorThread::run() (executorthread.cc:124)
      ==13612==    by 0x7D776A8: launch_executor_thread (executorthread.cc:34)
      ==13612==    by 0x50417B7: platform_thread_wrap (cb_pthreads.c:23)
      ==13612==    by 0x54A5E99: start_thread (pthread_create.c:308)
      ==13612==    by 0x5D4238C: clone (clone.S:112)
      ==13612==  Address 0x14898928 is 296 bytes inside a block of size 512 free'd
      ==13612==    at 0x52908C8: je_valgrind_freelike_block (valgrind.c:33)
      ==13612==    by 0x7D907C7: DcpConnMap::manageConnections() (connmap.cc:1118)
      ==13612==    by 0x7D941CD: ConnManager::run() (connmap.cc:152)
      ==13612==    by 0x7D77053: ExecutorThread::run() (executorthread.cc:124)
      ==13612==    by 0x7D776A8: launch_executor_thread (executorthread.cc:34)
      ==13612==    by 0x50417B7: platform_thread_wrap (cb_pthreads.c:23)
      ==13612==    by 0x54A5E99: start_thread (pthread_create.c:308)
      ==13612==    by 0x5D4238C: clone (clone.S:112)
      ...
      <cut> many more follow
      ...
      

      This in turn causes the test to fail when run under Valgrind:

      Running [0288/0330]: test rollback to zero on consumer (couchstore)...FATAL: Failed to lock mutex: 22 Invalid argument(7 sec) DIED
      

      See attached file "valgrind.1.13612.log" for full details.

      Attachments

        Issue Links

          No reviews matched the request. Check your Options in the drop-down menu of this sections header.

          Activity

            People

              owend Daniel Owen
              drigby Dave Rigby (Inactive)
              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