[PATCH] Change base mutex implementations to use STL-provided mutexes

Aaron Ballman aaron.ballman at gmail.com
Thu Jun 5 14:27:58 PDT 2014


Okay, with that patch applied as well, this is passing all clang and
llvm tests for me on Windows with MSVC.

I'll do an actual review once I have the chance, unless someone else
beats me to it. :-)

~Aaron

On Thu, Jun 5, 2014 at 4:57 PM, Zachary Turner <zturner at google.com> wrote:
> D3961 is updated with the change that should fix this deadlock.  (fingers
> crossed).   Thanks for your patience!
>
>
> On Thu, Jun 5, 2014 at 1:47 PM, Zachary Turner <zturner at google.com> wrote:
>>
>> Gah, my bad.  it looks like I do need to re-upload the clang review.  The
>> original one is missing the change to ASTUnit to support locking from an
>> atexit handler.
>>
>> I will update the patch soon, and hopefully that resolves it.
>>
>>
>> On Thu, Jun 5, 2014 at 1:04 PM, Aaron Ballman <aaron.ballman at gmail.com>
>> wrote:
>>>
>>> On Thu, Jun 5, 2014 at 3:30 PM, Zachary Turner <zturner at google.com>
>>> wrote:
>>> > Also make sure you're clang repo is up-to-date at least to r210225.
>>> > That fixes the test failures we saw last time.
>>> >
>>> > http://reviews.llvm.org/D4033
>>>
>>> My repos are at r210280, but the clang tests still fail to complete
>>> for me (Win 7, MSVC 2013, debug build). I don't know exactly where it
>>> gets hung up, but my process list shows a whole lot of
>>> c-index-test.exe which have pegged the CPU. I end tasked a handful of
>>> them, and the reports came back as:
>>>
>>> 55>  -- Testing: 7271 tests, 32 threads --
>>> 55>  FAIL: Clang :: Index/annotate-tokens-include.c (3206 of 7271)
>>> 55>  ******************** TEST 'Clang ::
>>> Index/annotate-tokens-include.c' FAILED ********************
>>> 55>  Script:
>>> 55>  --
>>> 55>  E:/llvm/2013/Debug/bin\c-index-test.EXE
>>>
>>> -test-annotate-tokens=E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-include.c:1:1:2:1
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-include.c |
>>> E:/llvm/2013/Debug/bin\FileCheck.EXE
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-include.c
>>> 55>  --
>>> 55>  Exit Code: 1
>>> 55>
>>> 55>  Command Output (stdout):
>>> 55>  --
>>> 55>  Command 0: "E:/llvm/2013/Debug/bin\c-index-test.EXE"
>>>
>>> "-test-annotate-tokens=E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-include.c:1:1:2:1"
>>> "E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-include.c"
>>> 55>  Command 0 Result: 1
>>> 55>  Command 0 Output:
>>> 55>
>>> 55>
>>> 55>  Command 0 Stderr:
>>> 55>
>>> 55>
>>> 55>  Command 1: "E:/llvm/2013/Debug/bin\FileCheck.EXE"
>>> "E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-include.c"
>>> 55>  Command 1 Result: 0
>>> 55>  Command 1 Output:
>>> 55>
>>> 55>
>>> 55>  Command 1 Stderr:
>>> 55>
>>> 55>
>>> 55>
>>> 55>  --
>>> 55>
>>> 55>  ********************
>>> 55>  FAIL: Clang :: Index/annotate-attribute.cpp (3207 of 7271)
>>> 55>  ******************** TEST 'Clang :: Index/annotate-attribute.cpp'
>>> FAILED ********************
>>> 55>  Script:
>>> 55>  --
>>> 55>  E:/llvm/2013/Debug/bin\c-index-test.EXE -test-load-source all
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-attribute.cpp |
>>> E:/llvm/2013/Debug/bin\FileCheck.EXE
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-attribute.cpp
>>> 55>  --
>>> 55>  Exit Code: 1
>>> 55>
>>> 55>  Command Output (stdout):
>>> 55>  --
>>> 55>  Command 0: "E:/llvm/2013/Debug/bin\c-index-test.EXE"
>>> "-test-load-source" "all"
>>> "E:\llvm\llvm\tools\clang\test\Index\annotate-attribute.cpp"
>>> 55>  Command 0 Result: 1
>>> 55>  Command 0 Output:
>>> 55>
>>> 55>
>>> 55>  Command 0 Stderr:
>>> 55>
>>> 55>
>>> 55>  Command 1: "E:/llvm/2013/Debug/bin\FileCheck.EXE"
>>> "E:\llvm\llvm\tools\clang\test\Index\annotate-attribute.cpp"
>>> 55>  Command 1 Result: 0
>>> 55>  Command 1 Output:
>>> 55>
>>> 55>
>>> 55>  Command 1 Stderr:
>>> 55>
>>> 55>
>>> 55>
>>> 55>  --
>>> 55>
>>> 55>  ********************
>>> 55>  FAIL: Clang :: Index/annotate-tokens-pp.c (3208 of 7271)
>>> 55>  ******************** TEST 'Clang :: Index/annotate-tokens-pp.c'
>>> FAILED ********************
>>> 55>  Script:
>>> 55>  --
>>> 55>  E:/llvm/2013/Debug/bin\c-index-test.EXE
>>>
>>> -test-annotate-tokens=E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-pp.c:2:1:44:1
>>> -IE:\llvm\llvm\tools\clang\test\Index/Inputs
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-pp.c |
>>> E:/llvm/2013/Debug/bin\FileCheck.EXE
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-pp.c
>>> 55>  env CINDEXTEST_EDITING=1 E:/llvm/2013/Debug/bin\c-index-test.EXE
>>>
>>> -test-annotate-tokens=E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-pp.c:2:1:44:1
>>> -IE:\llvm\llvm\tools\clang\test\Index/Inputs
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-pp.c |
>>> E:/llvm/2013/Debug/bin\FileCheck.EXE
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-pp.c
>>> 55>  --
>>> 55>  Exit Code: 1
>>> 55>
>>> 55>  Command Output (stdout):
>>> 55>  --
>>> 55>  Command 0: "E:/llvm/2013/Debug/bin\c-index-test.EXE"
>>>
>>> "-test-annotate-tokens=E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-pp.c:2:1:44:1"
>>> "-IE:\llvm\llvm\tools\clang\test\Index/Inputs"
>>> "E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-pp.c"
>>> 55>  Command 0 Result: 1
>>> 55>  Command 0 Output:
>>> 55>
>>> 55>
>>> 55>  Command 0 Stderr:
>>> 55>
>>> 55>
>>> 55>  Command 1: "E:/llvm/2013/Debug/bin\FileCheck.EXE"
>>> "E:\llvm\llvm\tools\clang\test\Index\annotate-tokens-pp.c"
>>> 55>  Command 1 Result: 0
>>> 55>  Command 1 Output:
>>> 55>
>>> 55>
>>> 55>  Command 1 Stderr:
>>> 55>
>>> 55>
>>> 55>
>>> 55>  --
>>> 55>
>>> 55>  ********************
>>> 55>  FAIL: Clang :: Index/annotate-comments.cpp (3210 of 7271)
>>> 55>  ******************** TEST 'Clang :: Index/annotate-comments.cpp'
>>> FAILED ********************
>>> 55>  Script:
>>> 55>  --
>>> 55>  rm -rf
>>> E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp
>>> 55>  mkdir
>>> E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp
>>> 55>  E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem
>>> E:\llvm\2013\Debug\bin\..\lib\clang\3.5.0\include -x c++ -std=c++11
>>> -emit-pch -o
>>> E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp/out.pch
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-comments.cpp
>>> 55>  E:/llvm/2013/Debug/bin/clang.EXE -cc1 -internal-isystem
>>> E:\llvm\2013\Debug\bin\..\lib\clang\3.5.0\include -x c++ -std=c++11
>>> -include-pch
>>> E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp/out.pch
>>> -fsyntax-only E:\llvm\llvm\tools\clang\test\Index\annotate-comments.cpp
>>> 55>  E:/llvm/2013/Debug/bin\c-index-test.EXE -test-load-source all
>>>
>>> -comments-xml-schema=E:\llvm\llvm\tools\clang\test\Index/../../bindings/xml/comment-xml-schema.rng
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-comments.cpp -std=c++11 >
>>>
>>> E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp/out.c-index-direct
>>> 55>  E:/llvm/2013/Debug/bin\c-index-test.EXE -test-load-tu
>>>
>>> E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp/out.pch
>>> all >
>>> E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp/out.c-index-pch
>>> 55>  E:/llvm/2013/Debug/bin\FileCheck.EXE
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-comments.cpp
>>> -check-prefix=WRONG <
>>>
>>> E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp/out.c-index-direct
>>> 55>  E:/llvm/2013/Debug/bin\FileCheck.EXE
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-comments.cpp
>>> -check-prefix=WRONG <
>>>
>>> E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp/out.c-index-pch
>>> 55>  E:/llvm/2013/Debug/bin\FileCheck.EXE
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-comments.cpp <
>>>
>>> E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp/out.c-index-direct
>>> 55>  E:/llvm/2013/Debug/bin\FileCheck.EXE
>>> E:\llvm\llvm\tools\clang\test\Index\annotate-comments.cpp <
>>>
>>> E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp/out.c-index-pch
>>> 55>  --
>>> 55>  Exit Code: 1
>>> 55>
>>> 55>  Command Output (stdout):
>>> 55>  --
>>> 55>  Command 0: "rm" "-rf"
>>> "E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp"
>>> 55>  Command 0 Result: 0
>>> 55>  Command 0 Output:
>>> 55>
>>> 55>
>>> 55>  Command 0 Stderr:
>>> 55>
>>> 55>
>>> 55>  Command 1: "mkdir"
>>> "E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp"
>>> 55>  Command 1 Result: 0
>>> 55>  Command 1 Output:
>>> 55>
>>> 55>
>>> 55>  Command 1 Stderr:
>>> 55>
>>> 55>
>>> 55>  Command 2: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"
>>> "-internal-isystem"
>>> "E:\llvm\2013\Debug\bin\..\lib\clang\3.5.0\include" "-x" "c++"
>>> "-std=c++11" "-emit-pch" "-o"
>>>
>>> "E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp/out.pch"
>>> "E:\llvm\llvm\tools\clang\test\Index\annotate-comments.cpp"
>>> 55>  Command 2 Result: 0
>>> 55>  Command 2 Output:
>>> 55>
>>> 55>
>>> 55>  Command 2 Stderr:
>>> 55>
>>> 55>
>>> 55>  Command 3: "E:/llvm/2013/Debug/bin/clang.EXE" "-cc1"
>>> "-internal-isystem"
>>> "E:\llvm\2013\Debug\bin\..\lib\clang\3.5.0\include" "-x" "c++"
>>> "-std=c++11" "-include-pch"
>>>
>>> "E:\llvm\2013\tools\clang\test\Index\Output\annotate-comments.cpp.tmp/out.pch"
>>> "-fsyntax-only"
>>> "E:\llvm\llvm\tools\clang\test\Index\annotate-comments.cpp"
>>> 55>  Command 3 Result: 0
>>> 55>  Command 3 Output:
>>> 55>
>>> 55>
>>> 55>  Command 3 Stderr:
>>> 55>
>>> 55>
>>> 55>  Command 4: "E:/llvm/2013/Debug/bin\c-index-test.EXE"
>>> "-test-load-source" "all"
>>>
>>> "-comments-xml-schema=E:\llvm\llvm\tools\clang\test\Index/../../bindings/xml/comment-xml-schema.rng"
>>> "E:\llvm\llvm\tools\clang\test\Index\annotate-comments.cpp"
>>> "-std=c++11"
>>> 55>  Command 4 Result: 1
>>> 55>  Command 4 Output:
>>> 55>  None
>>> 55>
>>> 55>  Command 4 Stderr:
>>> 55>
>>> 55>
>>> 55>
>>> 55>  --
>>> 55>
>>> 55>  ********************
>>>
>>> So I'm still not certain this is fully resolved yet.
>>>
>>> ~Aaron
>>
>>
>



More information about the llvm-commits mailing list