[LLVMbugs] [Bug 20325] New: LibclangReparseTest.ReparseWithModule fails when configuring with --disable-threads

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Wed Jul 16 09:48:44 PDT 2014


http://llvm.org/bugs/show_bug.cgi?id=20325

            Bug ID: 20325
           Summary: LibclangReparseTest.ReparseWithModule fails when
                    configuring with --disable-threads
           Product: clang
           Version: unspecified
          Hardware: PC
                OS: All
            Status: NEW
          Severity: normal
          Priority: P
         Component: libclang
          Assignee: unassignedclangbugs at nondot.org
          Reporter: nicolasweber at gmx.de
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

I run configure with --disable-threads. LibclangReparseTest.ReparseWithModule
apparently relies on crash recovery, so it fails (see also related PR11974).

(lldb) run
Process 23113 launched:
'./tools/clang/unittests/libclang/Debug+Asserts/libclangTests' (x86_64)
Note: Google Test filter = LibclangReparseTest.ReparseWithModule
[==========] Running 1 test from 1 test case.
[----------] Global test environment set-up.
[----------] 1 test from LibclangReparseTest
[ RUN      ] LibclangReparseTest.ReparseWithModule
Process 23113 stopped
* thread #1: tid = 0x710632, 0x000000010142308b
libclang.dylib`llvm::CrashRecoveryContext::registerCleanup(this=0xc000000000000000,
cleanup=0x000000010300ddc0) + 43 at CrashRecoveryContext.cpp:111, queue =
'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
    frame #0: 0x000000010142308b
libclang.dylib`llvm::CrashRecoveryContext::registerCleanup(this=0xc000000000000000,
cleanup=0x000000010300ddc0) + 43 at CrashRecoveryContext.cpp:111
   108     {
   109       if (!cleanup)
   110         return;
-> 111       if (head)
   112         head->prev = cleanup;
   113       cleanup->next = head;
   114       head = cleanup;
(lldb) bt
* thread #1: tid = 0x710632, 0x000000010142308b
libclang.dylib`llvm::CrashRecoveryContext::registerCleanup(this=0xc000000000000000,
cleanup=0x000000010300ddc0) + 43 at CrashRecoveryContext.cpp:111, queue =
'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT)
  * frame #0: 0x000000010142308b
libclang.dylib`llvm::CrashRecoveryContext::registerCleanup(this=0xc000000000000000,
cleanup=0x000000010300ddc0) + 43 at CrashRecoveryContext.cpp:111
    frame #1: 0x000000010039ef10
libclang.dylib`CrashRecoveryContextCleanupRegistrar(this=0x00007fff5fbfd5d0,
x=0x000000010300eb60) + 80 at CrashRecoveryContext.h:196
    frame #2: 0x0000000100395c7d
libclang.dylib`CrashRecoveryContextCleanupRegistrar(this=0x00007fff5fbfd5d0,
x=0x000000010300eb60) + 29 at CrashRecoveryContext.h:197
    frame #3: 0x000000010037e1cd
libclang.dylib`clang::ASTUnit::Parse(this=0x0000000103802800,
OverrideMainBuffer=0x0000000103021720) + 477 at ASTUnit.cpp:1048
    frame #4: 0x000000010038c126
libclang.dylib`clang::ASTUnit::Reparse(this=0x0000000103802800,
RemappedFiles=ArrayRef<std::__1::pair<std::__1::basic_string<char>,
llvm::MemoryBuffer *> > at 0x00007fff5fbfdf60) + 1414 at ASTUnit.cpp:2076
    frame #5: 0x00000001001b3957
libclang.dylib`clang_reparseTranslationUnit_Impl(UserData=0x00007fff5fbfe910) +
2487 at CIndex.cpp:3094
    frame #6: 0x00000001001f684f
libclang.dylib`operator(this=0x00007fff5fbfe840) + 31 at
CrashRecoveryContext.h:96
    frame #7: 0x00000001001f6825 libclang.dylib`void llvm::function_ref<void
(callable=140734799800384)>::callback_fn<llvm::CrashRecoveryContext::RunSafelyOnThread(void
(*)(void*), void*, unsigned int)::'lambda'()>(long) + 21 at STLExtras.h:75
    frame #8: 0x0000000101423bf9 libclang.dylib`llvm::function_ref<void
(this=0x00007fff5fbfe808)>::operator()() const + 25 at STLExtras.h:85
    frame #9: 0x0000000101423c75 libclang.dylib`void llvm::function_ref<void
(callable=140734799800328)>::callback_fn<llvm::function_ref<void ()> >(long) +
21 at STLExtras.h:75
    frame #10: 0x0000000101423bf9 libclang.dylib`llvm::function_ref<void
(this=0x00007fff5fbfe7e0)>::operator()() const + 25 at STLExtras.h:85
    frame #11: 0x0000000101423c75 libclang.dylib`void llvm::function_ref<void
(callable=140734799800288)>::callback_fn<llvm::function_ref<void ()> >(long) +
21 at STLExtras.h:75
    frame #12: 0x0000000101423bf9 libclang.dylib`llvm::function_ref<void
(this=0x00007fff5fbfe730)>::operator()() const + 25 at STLExtras.h:85
    frame #13: 0x000000010142351d
libclang.dylib`llvm::CrashRecoveryContext::RunSafely(this=0x00007fff5fbfe900,
Fn=function_ref<void ()> at 0x00007fff5fbfe730)>) + 237 at
CrashRecoveryContext.cpp:318
    frame #14: 0x00000001014237c1
libclang.dylib`RunSafelyOnThread_Dispatch(UserData=0x00007fff5fbfe7e0) + 81 at
CrashRecoveryContext.cpp:366
    frame #15: 0x0000000101465f9d
libclang.dylib`llvm::llvm_execute_on_thread(Fn=0x0000000101423770,
UserData=0x00007fff5fbfe7e0, RequestedStackSize=8388608)(void*), void*,
unsigned int) + 29 at Threading.cpp:109
    frame #16: 0x0000000101423702
libclang.dylib`llvm::CrashRecoveryContext::RunSafelyOnThread(this=0x00007fff5fbfe900,
Fn=function_ref<void ()> at 0x00007fff5fbfe808, RequestedStackSize=8388608)>,
unsigned int) + 98 at CrashRecoveryContext.cpp:372
    frame #17: 0x00000001001dd926
libclang.dylib`llvm::CrashRecoveryContext::RunSafelyOnThread(this=0x00007fff5fbfe900,
Fn=0x00000001001b2fa0, UserData=0x00007fff5fbfe910,
RequestedStackSize=8388608)(void*), void*, unsigned int) + 86 at
CrashRecoveryContext.h:96
    frame #18: 0x00000001001b054d
libclang.dylib`clang::RunSafely(CRC=0x00007fff5fbfe900, Fn=0x00000001001b2fa0,
UserData=0x00007fff5fbfe910, Size=8388608)(void*), void*, unsigned int) + 77 at
CIndex.cpp:6809
    frame #19: 0x00000001001b2f03
libclang.dylib`clang_reparseTranslationUnit(TU=0x00000001030056a0,
num_unsaved_files=0, unsaved_files=0x0000000000000000, options=0) + 339 at
CIndex.cpp:3123
    frame #20: 0x0000000100005d6f
libclangTests`LibclangReparseTest::ReparseTU(this=0x0000000103004ad0,
num_unsaved_files=0, unsaved_files=0x0000000000000000) + 79 at
LibclangTest.cpp:385
    frame #21: 0x0000000100004179
libclangTests`LibclangReparseTest_ReparseWithModule_Test::TestBody(this=0x0000000103004ad0)
+ 5257 at LibclangTest.cpp:455
    frame #22: 0x0000000100041f83 libclangTests`void
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::Test,
void>(object=0x0000000103004ad0, method=21 00 00 00 00 00 00 00,
location=0x00000001000b80bf)(), char const*) + 131 at gtest.cc:2090
    frame #23: 0x0000000100030d8e libclangTests`void
testing::internal::HandleExceptionsInMethodIfSupported<testing::Test,
void>(object=0x0000000103004ad0, method=21 00 00 00 00 00 00 00,
location=0x00000001000b80bf)(), char const*) + 110 at gtest.cc:2142
    frame #24: 0x000000010001bd35
libclangTests`testing::Test::Run(this=0x0000000103004ad0) + 197 at
gtest.cc:2161
    frame #25: 0x000000010001c94b
libclangTests`testing::TestInfo::Run(this=0x0000000103004a00) + 219 at
gtest.cc:2309
    frame #26: 0x000000010001d477
libclangTests`testing::TestCase::Run(this=0x0000000103004990) + 231 at
gtest.cc:2416
    frame #27: 0x000000010002352e
libclangTests`testing::internal::UnitTestImpl::RunAllTests(this=0x0000000103003bd0)
+ 926 at gtest.cc:4205
    frame #28: 0x000000010003ebf3 libclangTests`bool
testing::internal::HandleSehExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(object=0x0000000103003bd0, method=90 31 02 00 01 00 00 00,
location=0x00000001000b8770)(), char const*) + 131 at gtest.cc:2090
    frame #29: 0x0000000100032ffe libclangTests`bool
testing::internal::HandleExceptionsInMethodIfSupported<testing::internal::UnitTestImpl,
bool>(object=0x0000000103003bd0, method=90 31 02 00 01 00 00 00,
location=0x00000001000b8770)(), char const*) + 110 at gtest.cc:2142
    frame #30: 0x0000000100023174
libclangTests`testing::UnitTest::Run(this=0x00000001000c2cf0) + 100 at
gtest.cc:3839
    frame #31: 0x000000010004a369 libclangTests`main(argc=1,
argv=0x00007fff5fbff9e0) + 89 at TestMain.cpp:48

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20140716/124108e1/attachment.html>


More information about the llvm-bugs mailing list