Uploaded image for project: 'onedata'
  1. onedata
  2. VFS-762

Deadlock w BufferAgent

XMLWordPrintable

    • Icon: Bug Bug
    • Resolution: Fixed
    • Icon: Minor Minor
    • None
    • None
    • helpers
    • None

      clusterProxyHelper_test raz zawiesił się podczas wykonywania. Stack trace:

      (gdb) thread apply all bt
      
      Thread 2 (Thread 0x7fdef0c33700 (LWP 4500)):
      #0  0x00007fdef3205b2f in pthread_cond_wait@@GLIBC_2.3.2 () from /usr/lib/libpthread.so.0
      #1  0x00007fdef15b2d6c in std::condition_variable::wait(std::unique_lock<std::mutex>&) () from /usr/lib/libstdc++.so.6
      #2  0x000000000061dc20 in std::_V2::condition_variable_any::wait<std::unique_lock<std::recursive_mutex> > (this=0x2242340, __lock=...) at /usr/include/c++/4.9.0/condition_variable:234
      #3  0x000000000061c080 in veil::helpers::BufferAgent::writerLoop (this=0x22422f0) at ../src/bufferAgent.cc:416
      #4  0x000000000062c179 in std::_Mem_fn<void (veil::helpers::BufferAgent::*)()>::operator()<, void>(veil::helpers::BufferAgent*) const (this=0x2241de0, __object=0x22422f0) at /usr/include/c++/4.9.0/functional:569
      #5  0x000000000062bf11 in std::_Bind_simple<std::_Mem_fn<void (veil::helpers::BufferAgent::*)()> (veil::helpers::BufferAgent*)>::_M_invoke<0ul>(std::_Index_tuple<0ul>) (this=0x2241dd8) at /usr/include/c++/4.9.0/functional:1700
      #6  0x000000000062bc13 in std::_Bind_simple<std::_Mem_fn<void (veil::helpers::BufferAgent::*)()> (veil::helpers::BufferAgent*)>::operator()() (this=0x2241dd8) at /usr/include/c++/4.9.0/functional:1688
      #7  0x000000000062b4ba in std::thread::_Impl<std::_Bind_simple<std::_Mem_fn<void (veil::helpers::BufferAgent::*)()> (veil::helpers::BufferAgent*)> >::_M_run() (this=0x2241dc0) at /usr/include/c++/4.9.0/thread:115
      #8  0x00007fdef15b6e50 in ?? () from /usr/lib/libstdc++.so.6
      #9  0x00007fdef3201124 in start_thread () from /usr/lib/libpthread.so.0
      #10 0x00007fdef0d1d4bd in clone () from /usr/lib/libc.so.6
      
      Thread 1 (Thread 0x7fdef3838740 (LWP 4491)):
      #0  0x00007fdef3202565 in pthread_join () from /usr/lib/libpthread.so.0
      #1  0x00007fdef15b6d07 in std::thread::join() () from /usr/lib/libstdc++.so.6
      #2  0x000000000061ba18 in veil::helpers::BufferAgent::agentStop (this=0x22422f0) at ../src/bufferAgent.cc:345
      #3  0x0000000000619722 in veil::helpers::BufferAgent::~BufferAgent (this=0x22422f0, __in_chrg=<optimized out>) at ../src/bufferAgent.cc:41
      #4  0x00000000005bc744 in veil::helpers::ClusterProxyHelper::~ClusterProxyHelper (this=0x22422d0, __in_chrg=<optimized out>) at ../include/clusterProxyHelper.h:49
      #5  0x00000000005d3356 in ProxyClusterProxyHelper::~ProxyClusterProxyHelper (this=0x22422d0, __in_chrg=<optimized out>) at ../test/include/clusterProxyHelper_proxy.h:16
      #6  0x00000000005d80a7 in __gnu_cxx::new_allocator<ProxyClusterProxyHelper>::destroy<ProxyClusterProxyHelper> (this=0x22422d0, __p=0x22422d0) at /usr/include/c++/4.9.0/ext/new_allocator.h:124
      #7  0x00000000005d666f in std::allocator_traits<std::allocator<ProxyClusterProxyHelper> >::_S_destroy<ProxyClusterProxyHelper> (__a=..., __p=0x22422d0) at /usr/include/c++/4.9.0/bits/alloc_traits.h:282
      #8  0x00000000005d5229 in std::allocator_traits<std::allocator<ProxyClusterProxyHelper> >::destroy<ProxyClusterProxyHelper> (__a=..., __p=0x22422d0) at /usr/include/c++/4.9.0/bits/alloc_traits.h:411
      #9  0x00000000005d3c2d in std::_Sp_counted_ptr_inplace<ProxyClusterProxyHelper, std::allocator<ProxyClusterProxyHelper>, (__gnu_cxx::_Lock_policy)2>::_M_dispose (this=0x22422c0) at /usr/include/c++/4.9.0/bits/shared_ptr_base.h:524
      #10 0x00000000005c85a6 in std::_Sp_counted_base<(__gnu_cxx::_Lock_policy)2>::_M_release (this=0x22422c0) at /usr/include/c++/4.9.0/bits/shared_ptr_base.h:149
      #11 0x00000000005c5a33 in std::__shared_count<(__gnu_cxx::_Lock_policy)2>::~__shared_count (this=0x2242938, __in_chrg=<optimized out>) at /usr/include/c++/4.9.0/bits/shared_ptr_base.h:666
      #12 0x00000000005bebda in std::__shared_ptr<ProxyClusterProxyHelper, (__gnu_cxx::_Lock_policy)2>::~__shared_ptr (this=0x2242930, __in_chrg=<optimized out>) at /usr/include/c++/4.9.0/bits/shared_ptr_base.h:914
      #13 0x00000000005bebf4 in std::shared_ptr<ProxyClusterProxyHelper>::~shared_ptr (this=0x2242930, __in_chrg=<optimized out>) at /usr/include/c++/4.9.0/bits/shared_ptr.h:93
      #14 0x00000000005bedea in ClusterProxyHelperTest::~ClusterProxyHelperTest (this=0x2242910, __in_chrg=<optimized out>) at ../test/clusterProxyHelper_test.cc:38
      #15 0x00000000005d2ade in ClusterProxyHelperTest_release_Test::~ClusterProxyHelperTest_release_Test (this=0x2242910, __in_chrg=<optimized out>) at ../test/clusterProxyHelper_test.cc:156
      #16 0x00000000005d2b0e in ClusterProxyHelperTest_release_Test::~ClusterProxyHelperTest_release_Test (this=0x2242910, __in_chrg=<optimized out>) at ../test/clusterProxyHelper_test.cc:156
      #17 0x00000000005f51b4 in testing::Test::DeleteSelf_ (this=0x2242910) at /home/konrad/plgrid/veilhelpers/release/deps/gmock/src/gmockBuild/gtest/include/gtest/gtest.h:429
      #18 0x00000000005ff7f2 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void> (object=0x2242910, method=(void (testing::Test::*)(testing::Test * const)) 0x5f518a <testing::Test::DeleteSelf_()>, 
          location=0x6bd587 "the test fixture's destructor") at /home/konrad/plgrid/veilhelpers/release/deps/gmock/src/gmockBuild/gtest/src/gtest.cc:2078
      #19 0x00000000005fab4c in testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void> (object=0x2242910, method=(void (testing::Test::*)(testing::Test * const)) 0x5f518a <testing::Test::DeleteSelf_()>, 
          location=0x6bd587 "the test fixture's destructor") at /home/konrad/plgrid/veilhelpers/release/deps/gmock/src/gmockBuild/gtest/src/gtest.cc:2114
      #20 0x00000000005e217a in testing::TestInfo::Run (this=0x22277a0) at /home/konrad/plgrid/veilhelpers/release/deps/gmock/src/gmockBuild/gtest/src/gtest.cc:2332
      #21 0x00000000005e27f0 in testing::TestCase::Run (this=0x2227470) at /home/konrad/plgrid/veilhelpers/release/deps/gmock/src/gmockBuild/gtest/src/gtest.cc:2444
      #22 0x00000000005e9313 in testing::internal::UnitTestImpl::RunAllTests (this=0x2227270) at /home/konrad/plgrid/veilhelpers/release/deps/gmock/src/gmockBuild/gtest/src/gtest.cc:4311
      #23 0x0000000000600bf0 in testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x2227270, 
          method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x5e9076 <testing::internal::UnitTestImpl::RunAllTests()>, location=0x6bdc50 "auxiliary test code (environments or event listeners)")
          at /home/konrad/plgrid/veilhelpers/release/deps/gmock/src/gmockBuild/gtest/src/gtest.cc:2078
      #24 0x00000000005fb916 in testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl, bool> (object=0x2227270, 
          method=(bool (testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const)) 0x5e9076 <testing::internal::UnitTestImpl::RunAllTests()>, location=0x6bdc50 "auxiliary test code (environments or event listeners)")
          at /home/konrad/plgrid/veilhelpers/release/deps/gmock/src/gmockBuild/gtest/src/gtest.cc:2114
      #25 0x00000000005e7ee3 in testing::UnitTest::Run (this=0x947040 <testing::UnitTest::GetInstance()::instance>) at /home/konrad/plgrid/veilhelpers/release/deps/gmock/src/gmockBuild/gtest/src/gtest.cc:3925
      #26 0x00000000005dbf7b in RUN_ALL_TESTS () at deps/gmock/src/gmockBuild/gtest/include/gtest/gtest.h:2288
      #27 0x00000000005dbfdd in main (argc=1, argv=0x7fffe2fafe68) at ../test/testRunner.cc:19
      

            plgkzemek kremek (Inactive)
            plgkzemek kremek (Inactive)
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: