Hao Hao created KUDU-2765:
-----------------------------

             Summary: tsan failure in 
ToolTest.TestLoadgenAutoFlushBackgroundRandom
                 Key: KUDU-2765
                 URL: https://issues.apache.org/jira/browse/KUDU-2765
             Project: Kudu
          Issue Type: Test
            Reporter: Hao Hao
         Attachments: kudu-tool-test.0.txt

ToolTest.TestLoadgenAutoFlushBackgroundRandom failed with the following error 
in tsan
{noformat}
==================
WARNING: ThreadSanitizer: destroy of a locked mutex (pid=1076)
    #0 pthread_rwlock_destroy 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1313
 (kudu+0x4b4474)
    #1 glog_internal_namespace_::Mutex::~Mutex() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/glog-0.3.5/src/base/mutex.h:249:30
 (libglog.so.0+0x16488)
    #2 cxa_at_exit_wrapper(void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:386
 (kudu+0x484803)

  and:
    #0 operator delete(void*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_new_delete.cc:119
 (kudu+0x523cf1)
    #1 google::protobuf::FieldDescriptorProto::~FieldDescriptorProto() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/descriptor.pb.cc:4916:47
 (libprotobuf.so.14+0x19c3b1)
    #2 
google::protobuf::internal::GenericTypeHandler<google::protobuf::FieldDescriptorProto>::Delete(google::protobuf::FieldDescriptorProto*,
 google::protobuf::Arena*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/repeated_field.h:615:7
 (libprotobuf.so.14+0x1973b1)
    #3 void 
google::protobuf::internal::RepeatedPtrFieldBase::Destroy<google::protobuf::RepeatedPtrField<google::protobuf::FieldDescriptorProto>::TypeHandler>()
 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/repeated_field.h:1429
 (libprotobuf.so.14+0x1973b1)
    #4 
google::protobuf::RepeatedPtrField<google::protobuf::FieldDescriptorProto>::~RepeatedPtrField()
 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/repeated_field.h:1892
 (libprotobuf.so.14+0x1973b1)
    #5 google::protobuf::DescriptorProto::~DescriptorProto() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/descriptor.pb.cc:3528
 (libprotobuf.so.14+0x1973b1)
    #6 google::protobuf::DescriptorProto::~DescriptorProto() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/descriptor.pb.cc:3525:37
 (libprotobuf.so.14+0x197519)
    #7 
google::protobuf::internal::GenericTypeHandler<google::protobuf::DescriptorProto>::Delete(google::protobuf::DescriptorProto*,
 google::protobuf::Arena*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/repeated_field.h:615:7
 (libprotobuf.so.14+0x18e8c1)
    #8 void 
google::protobuf::internal::RepeatedPtrFieldBase::Destroy<google::protobuf::RepeatedPtrField<google::protobuf::DescriptorProto>::TypeHandler>()
 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/repeated_field.h:1429
 (libprotobuf.so.14+0x18e8c1)
    #9 
google::protobuf::RepeatedPtrField<google::protobuf::DescriptorProto>::~RepeatedPtrField()
 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/repeated_field.h:1892
 (libprotobuf.so.14+0x18e8c1)
    #10 google::protobuf::FileDescriptorProto::~FileDescriptorProto() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/descriptor.pb.cc:1426
 (libprotobuf.so.14+0x18e8c1)
    #11 google::protobuf::EncodedDescriptorDatabase::Add(void const*, int) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/descriptor_database.cc:322:1
 (libprotobuf.so.14+0x182dcd)
    #12 google::protobuf::DescriptorPool::InternalAddGeneratedFile(void const*, 
int) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/descriptor.cc:1315:3
 (libprotobuf.so.14+0x13b705)
    #13 google::protobuf::protobuf_google_2fprotobuf_2ftype_2eproto::(anonymous 
namespace)::AddDescriptorsImpl() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/type.pb.cc:240:3
 (libprotobuf.so.14+0x237c10)
    #14 google::protobuf::internal::FunctionClosure0::Run() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/stubs/callback.h:129:5
 (libprotobuf.so.14+0xd330b)
    #15 google::protobuf::GoogleOnceInitImpl(long*, google::protobuf::Closure*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/stubs/once.cc:83:14
 (libprotobuf.so.14+0xd5d6a)
    #16 google::protobuf::GoogleOnceInit(long*, void (*)()) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/stubs/once.h:128:5
 (libprotobuf.so.14+0x237b66)
    #17 
google::protobuf::protobuf_google_2fprotobuf_2ftype_2eproto::AddDescriptors() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/type.pb.cc:251
 (libprotobuf.so.14+0x237b66)
    #18 google::protobuf::protobuf_google_2fprotobuf_2fapi_2eproto::(anonymous 
namespace)::AddDescriptorsImpl() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/api.pb.cc:179:3
 (libprotobuf.so.14+0x12ca1d)
    #19 google::protobuf::internal::FunctionClosure0::Run() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/stubs/callback.h:129:5
 (libprotobuf.so.14+0xd330b)
    #20 google::protobuf::GoogleOnceInitImpl(long*, google::protobuf::Closure*) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/stubs/once.cc:83:14
 (libprotobuf.so.14+0xd5d6a)
    #21 google::protobuf::GoogleOnceInit(long*, void (*)()) 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/stubs/once.h:128:5
 (libprotobuf.so.14+0xcf0a6)
    #22 
google::protobuf::protobuf_google_2fprotobuf_2fapi_2eproto::AddDescriptors() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/api.pb.cc:185
 (libprotobuf.so.14+0xcf0a6)
    #23 
google::protobuf::protobuf_google_2fprotobuf_2fapi_2eproto::StaticDescriptorInitializer::StaticDescriptorInitializer()
 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/api.pb.cc:190
 (libprotobuf.so.14+0xcf0a6)
    #24 __cxx_global_var_init 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/api.pb.cc:192
 (libprotobuf.so.14+0xcf0a6)
    #25 _GLOBAL__sub_I_api.pb.cc 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/protobuf-3.4.1/src/google/protobuf/api.pb.cc
 (libprotobuf.so.14+0xcf0a6)
    #26 call_init /build/eglibc-SvCtMH/eglibc-2.19/elf/dl-init.c:78 
(ld-linux-x86-64.so.2+0x102d9)

  Location is global 'google::vmodule_lock' of size 64 at 0x7efc2674e878 
(libglog.so.0+0x00000023c878)

  Mutex M132 (0x7efc2674e878) created at:
    #0 pthread_rwlock_init 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/llvm-6.0.0.src/projects/compiler-rt/lib/tsan/rtl/tsan_interceptors.cc:1304
 (kudu+0x4b46e4)
    #1 glog_internal_namespace_::Mutex::Mutex() 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/glog-0.3.5/src/base/mutex.h:247:19
 (libglog.so.0+0xcca6)
    #2 __cxx_global_var_init.15 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/glog-0.3.5/src/vlog_is_on.cc:120
 (libglog.so.0+0xcca6)
    #3 _GLOBAL__sub_I_vlog_is_on.cc 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/glog-0.3.5/src/vlog_is_on.cc
 (libglog.so.0+0xcca6)
    #4 call_init /build/eglibc-SvCtMH/eglibc-2.19/elf/dl-init.c:78 
(ld-linux-x86-64.so.2+0x102d9)

SUMMARY: ThreadSanitizer: destroy of a locked mutex 
/data/somelongdirectorytoavoidrpathissues/src/kudu/thirdparty/src/glog-0.3.5/src/base/mutex.h:249:30
 in glog_internal_namespace_::Mutex::~Mutex()
==================
ThreadSanitizer: reported 1 warnings
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/tools/kudu-tool-test.cc:1996:
 Failure
Failed
Bad status: Runtime error: /tmp/dist-test-taskvH0aH1/build/tsan/bin/kudu: 
process exited with non-zero status 66
/data/somelongdirectorytoavoidrpathissues/src/kudu/src/kudu/tools/kudu-tool-test.cc:2033:
 Failure
Expected: RunLoadgen(5, { "--buffer_flush_watermark_pct=0.125", 
"--buffer_size_bytes=65536", "--buffers_num=8", "--num_rows_per_thread=16", 
"--num_threads=1", "--run_scan", "--string_len=8", "--use_random", }, 
"bench_auto_flush_background_random") doesn't generate new fatal failures in 
the current thread.
  Actual: it does.
{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to