<html>
    <head>
      <base href="https://llvm.org/bugs/" />
    </head>
    <body><table border="1" cellspacing="0" cellpadding="8">
        <tr>
          <th>Bug ID</th>
          <td><a class="bz_bug_link 
          bz_status_NEW "
   title="NEW --- - ThreadPoolTest.GetFuture hangs with 1 CPU."
   href="https://llvm.org/bugs/show_bug.cgi?id=27957">27957</a>
          </td>
        </tr>

        <tr>
          <th>Summary</th>
          <td>ThreadPoolTest.GetFuture hangs with 1 CPU.
          </td>
        </tr>

        <tr>
          <th>Product</th>
          <td>new-bugs
          </td>
        </tr>

        <tr>
          <th>Version</th>
          <td>trunk
          </td>
        </tr>

        <tr>
          <th>Hardware</th>
          <td>PC
          </td>
        </tr>

        <tr>
          <th>OS</th>
          <td>Linux
          </td>
        </tr>

        <tr>
          <th>Status</th>
          <td>NEW
          </td>
        </tr>

        <tr>
          <th>Severity</th>
          <td>normal
          </td>
        </tr>

        <tr>
          <th>Priority</th>
          <td>P
          </td>
        </tr>

        <tr>
          <th>Component</th>
          <td>new bugs
          </td>
        </tr>

        <tr>
          <th>Assignee</th>
          <td>unassignedbugs@nondot.org
          </td>
        </tr>

        <tr>
          <th>Reporter</th>
          <td>vlee@freedesktop.org
          </td>
        </tr>

        <tr>
          <th>CC</th>
          <td>llvm-bugs@lists.llvm.org
          </td>
        </tr>

        <tr>
          <th>Classification</th>
          <td>Unclassified
          </td>
        </tr></table>
      <p>
        <div>
        <pre>make check does not complete on a single CPU machine. It hangs at
ThreadPoolTest.GetFuture.

$ ./build/unittests/Support/SupportTests
--gtest_filter=ThreadPoolTest.GetFuture
Note: Google Test filter = ThreadPoolTest.GetFuture
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from ThreadPoolTest
[ RUN      ] ThreadPoolTest.GetFuture


(gdb) bt
#0  syscall () at ../sysdeps/unix/sysv/linux/x86_64/syscall.S:38
#1  0x00007f282790dd7e in
std::__atomic_futex_unsigned_base::_M_futex_wait_until(unsigned int*, unsigned
int, bool, std::chrono::duration<long, std::ratio<1l, 1l> >,
std::chrono::duration<long, std::ratio<1l, 1000000000l> >) ()
   from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#2  0x000055cf1ae988c4 in
std::__atomic_futex_unsigned<2147483648u>::_M_load_and_test_until
(this=0x55cf1bb90470, __assumed=0, __operand=1, __equal=true, 
    __mo=std::memory_order_acquire, __has_timeout=false, __s=..., __ns=...)
    at /usr/include/c++/5/bits/atomic_futex.h:104
#3  0x000055cf1ae97ecb in
std::__atomic_futex_unsigned<2147483648u>::_M_load_and_test
    (this=0x55cf1bb90470, __assumed=0, __operand=1, __equal=true, 
    __mo=std::memory_order_acquire) at
/usr/include/c++/5/bits/atomic_futex.h:122
#4  0x000055cf1ae96bbb in
std::__atomic_futex_unsigned<2147483648u>::_M_load_when_equal
(__mo=std::memory_order_acquire, __val=1, this=0x55cf1bb90470)
    at /usr/include/c++/5/bits/atomic_futex.h:162
#5  std::__future_base::_State_baseV2::wait (this=0x55cf1bb90460)
    at /usr/include/c++/5/future:322
#6  0x000055cf1ae975c4 in std::__basic_future<void>::_M_get_result (
    this=0x7fff16a34ae0) at /usr/include/c++/5/future:681
#7  0x000055cf1ae96c5a in std::shared_future<void>::get (this=0x7fff16a34ae0)
    at /usr/include/c++/5/future:967
#8  0x000055cf1ae94cea in ThreadPoolTest_GetFuture_Test::TestBody (
    this=0x55cf1bb90780)
    at unittests/Support/ThreadPool.cpp:145
#9  0x000055cf1afeb6d8 in
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test, void>
(object=0x55cf1bb90780, method=&virtual testing::Test::TestBody(), 
    location=0x55cf1b04eec3 "the test body")
    at utils/unittest/googletest/src/gtest.cc:2090
#10 0x000055cf1afe77ef in
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test, void>
(object=0x55cf1bb90780, method=&virtual testing::Test::TestBody(), 
    location=0x55cf1b04eec3 "the test body")
    at utils/unittest/googletest/src/gtest.cc:2142
#11 0x000055cf1afd5f2e in testing::Test::Run (this=0x55cf1bb90780)
    at utils/unittest/googletest/src/gtest.cc:2162
#12 0x000055cf1afd658a in testing::TestInfo::Run (this=0x55cf1bb873d0)
    at utils/unittest/googletest/src/gtest.cc:2309
#13 0x000055cf1afd6af8 in testing::TestCase::Run (this=0x55cf1bb870d0)
    at utils/unittest/googletest/src/gtest.cc:2416
#14 0x000055cf1afdb557 in testing::internal::UnitTestImpl::RunAllTests (
    this=0x55cf1bb6fd50)
    at utils/unittest/googletest/src/gtest.cc:4207
#15 0x000055cf1afec565 in
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool> (object=0x55cf1bb6fd50, 
    method=(bool
(testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const))
0x55cf1afdb298 <testing::internal::UnitTestImpl::RunAllTests()>, 
    location=0x55cf1b04f968 "auxiliary test code (environments or event
listeners)")
    at utils/unittest/googletest/src/gtest.cc:2090
#16 0x000055cf1afe80fd in
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool> (object=0x55cf1bb6fd50, 
    method=(bool
(testing::internal::UnitTestImpl::*)(testing::internal::UnitTestImpl * const))
0x55cf1afdb298 <testing::internal::UnitTestImpl::RunAllTests()>, 
    location=0x55cf1b04f968 "auxiliary test code (environments or event
listeners)")
    at utils/unittest/googletest/src/gtest.cc:2142
#17 0x000055cf1afda54a in testing::UnitTest::Run (
    this=0x55cf1b317bc0 <testing::UnitTest::GetInstance()::instance>)
    at utils/unittest/googletest/src/gtest.cc:3841
#18 0x000055cf1afd127e in main (argc=1, argv=0x7fff16a35008)
    at utils/unittest/UnitTestMain/TestMain.cpp:47</pre>
        </div>
      </p>
      <hr>
      <span>You are receiving this mail because:</span>
      
      <ul>
          <li>You are on the CC list for the bug.</li>
      </ul>
    </body>
</html>