[LLVMbugs] [Bug 23092] New: Compiler crash in ActionHandler::getStartBlock() of lib\codegen\winehfuncinfo.h:38

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Mar 31 16:13:38 PDT 2015


https://llvm.org/bugs/show_bug.cgi?id=23092

            Bug ID: 23092
           Summary: Compiler crash in ActionHandler::getStartBlock() of
                    lib\codegen\winehfuncinfo.h:38
           Product: libraries
           Version: trunk
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: Common Code Generator Code
          Assignee: unassignedbugs at nondot.org
          Reporter: douglas_yung at playstation.sony.com
                CC: llvmbugs at cs.uiuc.edu
    Classification: Unclassified

The following code causes a Windows hosted build of the compiler targeting
Windows to crash:

//===== test.cpp =====
void foo(int x) { }

void bar_d(int i) throw(double) { foo(i); }

typedef void (*vifunc)(int);
vifunc vitbl[] = { bar_d };
//====================

Compile the code with the command:

clang "-cc1" "-triple" "x86_64-pc-windows-msvc" "-emit-obj" "-main-file-name"
"test.cpp" "-target-cpu" "x86-64" "-fcxx-exceptions" "-fexceptions" "test.cpp"

And a debug build of the compiler will produce the following stack trace when
it crashes:

0x000000014015C44B (0x0000000000000000 0x0000000002973A00 0x0000000000A2BAA8
0x0000000000A2BA50), llvm::ActionHandler::getStartBlock() + 0xB bytes(s),
k:\src\llvm\llvm\include\llvm\codegen\winehfuncinfo.h, line 38 + 0xB byte(s)
0x0000000140149119 (0x000000000296CC90 0x0000000002973DE0 0x0000000000A2BD50
0xCCCCCCCCCCCCCCCC), `anonymous namespace'::WinEHPrepare::mapLandingPadBlocks()
+ 0x4E9 bytes(s), k:\src\llvm\llvm\lib\codegen\winehprepare.cpp, line 1188 +
0xD byte(s)
0x0000000140146E83 (0x000000000296CC90 0x000000000296E260 0x0000000000A2C528
0xCCCCCCCCCCCCCCCC), `anonymous
namespace'::WinEHPrepare::prepareExceptionHandlers() + 0x2A3 bytes(s),
k:\src\llvm\llvm\lib\codegen\winehprepare.cpp, line 366
0x0000000140146B44 (0x000000000296CC90 0x000000000296E260 0x000000000296E260
0xCCCCCCCC00000004), `anonymous namespace'::WinEHPrepare::runOnFunction() +
0x304 bytes(s), k:\src\llvm\llvm\lib\codegen\winehprepare.cpp, line 313
0x00000001403809FE (0x00000000029BCBD0 0x000000000296E260 0xCCCCCCCCCCCCCCCC
0xCCCCCCCCCCCCCCCC), llvm::FPPassManager::runOnFunction() + 0x1AE bytes(s),
k:\src\llvm\llvm\lib\ir\legacypassmanager.cpp, line 1538 + 0x37 byte(s)
0x0000000140380C14 (0x00000000029BCBD0 0x0000000000CEA9A0 0x0000000000CEA9A0
0xCCCCCCCC00000005), llvm::FPPassManager::runOnModule() + 0x94 bytes(s),
k:\src\llvm\llvm\lib\ir\legacypassmanager.cpp, line 1558 + 0x23 byte(s)
0x0000000140381FE1 (0x0000000002984A80 0x0000000000CEA9A0 0xCCCCCCCCCCCCCCCC
0xCCCCCCCCCCCCCCCC), `anonymous namespace'::MPPassManager::runOnModule() +
0x311 bytes(s), k:\src\llvm\llvm\lib\ir\legacypassmanager.cpp, line 1616 + 0x40
byte(s)
0x00000001403828D4 (0x00000000029846B0 0x0000000000CEA9A0 0xCCCCCCCCCCCCCCCC
0xCCCCCCCCCCCCCCCC), llvm::legacy::PassManagerImpl::run() + 0x174 bytes(s),
k:\src\llvm\llvm\lib\ir\legacypassmanager.cpp, line 1723 + 0x2A byte(s)
0x000000014037BB06 (0x000000000296A9B0 0x0000000000CEA9A0 0x0000000000A2CC00
0xCCCCCCCCCCCCCCCC), llvm::legacy::PassManager::run() + 0x36 bytes(s),
k:\src\llvm\llvm\lib\ir\legacypassmanager.cpp, line 1757
0x00000001412D250D (0x0000000000A2CDE0 0x0000000000000005 0x0000000000C9FD30
0x0000000000C9BE80), `anonymous namespace'::EmitAssemblyHelper::EmitAssembly()
+ 0x45D bytes(s), k:\src\llvm\llvm\tools\clang\lib\codegen\backendutil.cpp,
line 646
0x00000001412D032B (0x0000000000C94330 0x0000000000CA8660 0x0000000000C9BE80
0x0000000000CA8D60), clang::EmitBackendOutput() + 0x9B bytes(s),
k:\src\llvm\llvm\tools\clang\lib\codegen\backendutil.cpp, line 661
0x00000001412A8F7B (0x0000000000CE82F0 0x0000000000CDCE70 0x00000000029100B0
0xCCCCCCCCCCCCCC00), clang::BackendConsumer::HandleTranslationUnit() + 0x38B
bytes(s), k:\src\llvm\llvm\tools\clang\lib\codegen\codegenaction.cpp, line 178
0x0000000141F16C58 (0x00000000029100B0 0xCCCCCCCC00000000 0x0000000000000000
0xCCCCCCCCCCCCCCCC), clang::ParseAST() + 0x378 bytes(s),
k:\src\llvm\llvm\tools\clang\lib\parse\parseast.cpp, line 153
0x0000000140E2742B (0x0000000000C97B10 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC
0xCCCCCCCCCCCCCCCC), clang::ASTFrontendAction::ExecuteAction() + 0x12B
bytes(s), k:\src\llvm\llvm\tools\clang\lib\frontend\frontendaction.cpp, line
539
0x00000001412A444C (0x0000000000C97B10 0xCCCCCCCCCCCCCCCC 0xCCCCCCCCCCCCCCCC
0xCCCCCCCCCCCCCCCC), clang::CodeGenAction::ExecuteAction() + 0x63C bytes(s),
k:\src\llvm\llvm\tools\clang\lib\codegen\codegenaction.cpp, line 734
0x0000000140E26F14 (0x0000000000C97B10 0x0000000000C9BD00 0x0000000000C9FB30
0xCCCCCCCCCCCCCCCC), clang::FrontendAction::Execute() + 0x94 bytes(s),
k:\src\llvm\llvm\tools\clang\lib\frontend\frontendaction.cpp, line 444
0x0000000140DCD4BD (0x0000000000C9BD00 0x0000000000C97B10 0xCCCCCCCCCCCCCCCC
0xCCCCCCCCCCCCCCCC), clang::CompilerInstance::ExecuteAction() + 0x38D bytes(s),
k:\src\llvm\llvm\tools\clang\lib\frontend\compilerinstance.cpp, line 808
0x0000000140F73AE3 (0x0000000000C9BD00 0x0000000000C94330 0x000000013FA12301
0x0000000000A2DAE0), clang::ExecuteCompilerInvocation() + 0x503 bytes(s),
k:\src\llvm\llvm\tools\clang\lib\frontendtool\executecompilerinvocation.cpp,
line 222 + 0x1D byte(s)
0x000000013FAD34F9 (0x0000000000A2E270 0x0000000000CA75D0 0x000000013FA123EC
0xCCCCCCCCCCCCCCCC), cc1_main() + 0x3E9 bytes(s),
k:\src\llvm\llvm\tools\clang\tools\driver\cc1_main.cpp, line 110 + 0x12 byte(s)
0x000000013FABBD3D (0x0000000000A2FAE0 0x0000000000A2FAF0 0x0000000000A2E3CC
0x0000000000A2EB00), ExecuteCC1Tool() + 0xFD bytes(s),
k:\src\llvm\llvm\tools\clang\tools\driver\driver.cpp, line 369 + 0x61 byte(s)
0x000000013FABC307 (0x000000010000000C 0x0000000000C93E30 0x0000000000000000
0x0000000143281366), main() + 0x497 bytes(s),
k:\src\llvm\llvm\tools\clang\tools\driver\driver.cpp, line 415 + 0x9D byte(s)
0x000000014327FFBD (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000), __tmainCRTStartup() + 0x19D bytes(s),
f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c, line 626 + 0x19 byte(s)
0x00000001432800EE (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000), mainCRTStartup() + 0xE bytes(s),
f:\dd\vctools\crt\crtw32\dllstuff\crtexe.c, line 466
0x00000000777F59ED (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000), BaseThreadInitThunk() + 0xD bytes(s)
0x000000007792C541 (0x0000000000000000 0x0000000000000000 0x0000000000000000
0x0000000000000000), RtlUserThreadStart() + 0x21 bytes(s)


This crash started to happen with revision 231981, and I can reproduce it with
the newest build I have, 233744.

-- 
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/20150331/579e1476/attachment.html>


More information about the llvm-bugs mailing list