[LLVMbugs] [Bug 10629] New: lit.py fails when running all tests on Win7 x64 with Visual Studio 2008

bugzilla-daemon at llvm.org bugzilla-daemon at llvm.org
Tue Aug 9 17:16:58 PDT 2011


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

           Summary: lit.py fails when running all tests on Win7 x64 with
                    Visual Studio 2008
           Product: clang
           Version: trunk
          Platform: PC
        OS/Version: other
            Status: NEW
          Severity: normal
          Priority: P
         Component: Driver
        AssignedTo: unassignedclangbugs at nondot.org
        ReportedBy: johnw at boostpro.com
                CC: llvmbugs at cs.uiuc.edu


Here at BoostPro we run several automated tests of Clang, using OS X and
Windows 7, with both Visual Studio 2008 and 2010.

Lately we've seen a lot of failures that we are unable to reproduce either in
the debugger, by running clang.exe, or by running lit.py directly for the
given test.  It only fails if we run the full suite.

At the end of the message is an example of such a failure.  This exact same
stack occurs for 0-5 different tests, with that number fluctuating on a daily
basis (though usually from the same candidate set).

What's *very* odd about all this is that if I manually set a specific PATH in
TestRunner.py, I can then get the test to fail when running lit.py for that
specific test.  Here is what I insert, at line 163, just before the call to
"procs.append(subprocess.Popen":

>        import string
> 
>        cfg.environment['PATH'] = \
>            string.join([
>                  'c:\\src\\llvm\\test\\scripts'
>                , 'c:\\build\\llvm\\bin\\debug'
>                , 'c:\\src\\llvm\\test\\scripts'
>                , 'c:\\gnuwin32\\bin'
>                , ''
>                , 'c:\\windows\\system32'
>                , 'c:\\windows'
>                , 'c:\\windows\\system32\\wbem'
>                , 'c:\\windows\\system32\\windowspowershell\\v1.0\\'
>                , 'c:\\program files (x86)\\microsoft sql 
server\\90\\tools\\binn\\'
>                , 'c:\\program files (x86)\\cmake 2.8\\bin'
>                , 'c:\\program files (x86)\\git\\cmd'
>                , 'c:\\gnuwin32\\bin'
>                , 'c:\\program files (x86)\\git\\bin'
>                , 'c:\\python27'
> 
>                , 'c:\\program files (x86)\\microsoft visual studio 
9.0\\vc\\bin'
>                , 'c:\\program files\\microsoft sdks\\windows\\v6.0a\\\\bin'
>                , 'c:\\program files (x86)\\microsoft visual studio 
9.0\\common7\\tools\\bin'
>                , 'c:\\program files (x86)\\microsoft visual studio 
9.0\\common7\\tools'
>                , 'c:\\program files (x86)\\microsoft visual studio 
9.0\\common7\\ide'
>                , 'c:\\program files (x86)\\html help workshop'
>                , 'c:\\program files\\microsoft sdks\\windows\\v6.0a\\bin'
>                , 'c:\\windows\\microsoft.net\\framework\\v2.0.50727'
>                , 'c:\\program files (x86)\\microsoft visual studio 9.0\\'
>                , 'c:\\windows\\syswow64'
>                ], ';')

With this PATH, the test always fails and produces the same stack trace.  If I
remove *any* of these paths, or reduce the length of any of them by _even one
character_, the test passes.  If blank out the PATH, the test passes.  But if
I add _any_ characters to any of the pathnames, it still fails.

> ********************
> FAIL: Clang :: CodeGenObjC/blocks-5.m (1599 of 3747)
> ******************** TEST 'Clang :: CodeGenObjC/blocks-5.m' FAILED 
********************
> Script:
> --
> C:/build/llvm/bin/Debug/clang.EXE -cc1 -triple x86_64-apple-darwin9 
-emit-llvm -fblocks -o 
C:\build\llvm\tools\clang\test\CodeGenObjC\Output\blocks-5.m.tmp 
c:\src\llvm\tools\clang\test\CodeGenObjC\blocks-5.m
> --
> Exit Code: -3
> Command Output (stdout):
> --
> Command 0: "C:/build/llvm/bin/Debug/clang.EXE" "-cc1" "-triple" 
"x86_64-apple-darwin9" "-emit-llvm" "-fblocks" "-o" 
"C:\build\llvm\tools\clang\test\CodeGenObjC\Output\blocks-5.m.tmp" 
"c:\src\llvm\tools\clang\test\CodeGenObjC\blocks-5.m"
> Command 0 Result: -3
> Command 0 Output:
> Command 0 Stderr:
> Stack dump:
> 0. Program arguments: C:/build/llvm/bin/Debug/clang.EXE -cc1 -triple 
x86_64-apple-darwin9 -emit-llvm -fblocks -o 
C:\build\llvm\tools\clang\test\CodeGenObjC\Output\blocks-5.m.tmp 
c:\src\llvm\tools\clang\test\CodeGenObjC\blocks-5.m 
> 1. c:\src\llvm\tools\clang\test\CodeGenObjC\blocks-5.m:35:1: current parser 
token '-'
> 2. c:\src\llvm\tools\clang\test\CodeGenObjC\blocks-5.m:18:1: LLVM IR 
generation of declaration 
'IDEWorkspaceDocument::stateSavingDefaultEditorStatesForURLs'
> 3. c:\src\llvm\tools\clang\test\CodeGenObjC\blocks-5.m:18:47: LLVM IR 
generation of compound statement ('{}')
> 4. c:\src\llvm\tools\clang\test\CodeGenObjC\blocks-5.m:19:122: LLVM IR 
generation of compound statement ('{}')
> 01F5676E (0x0028EA48 0x00D3CA3C 0xCCCCCCCC 0x0028E9F4), 
llvm::PHINode::getBasicBlockIndex()+0078 bytes(s), 
c:\src\llvm\include\llvm\instructions.h, line 1998+0011 byte(s)
> 025BBB0C (0x0028E9F0 0x00D3CB50 0x0028EA48 0x002A0B24), 
llvm::BasicBlock::replaceSuccessorsPhiUsesWith()+0156 bytes(s), 
c:\src\llvm\lib\vmcore\basicblock.cpp, line 342+0012 byte(s)
> 02518A46 (0x0028E9F0 0x002A0B8C 0x002A0B8C 0x00D3CF6C), 
llvm::Value::replaceAllUsesWith()+0406 bytes(s), 
c:\src\llvm\lib\vmcore\value.cpp, line 309
> 028E8579 (0x0028EA48 0x00D3CAE8 0xCCCCCCCC 0x0028E9F0), 
clang::CodeGen::CodeGenFunction::SimplifyForwardingBlocks()+0121 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgstmt.cpp, line 248
> 028E92E6 (0x0027B228 0x00D3CB50 0x00000009 0xCCCCCCCC), 
clang::CodeGen::CodeGenFunction::EmitDoStmt()+0406 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgstmt.cpp, line 550
> 028E7E8C (0x0027B228 0x00D3CE64 0xCCCCCCCC 0xCCCCCCCC), 
clang::CodeGen::CodeGenFunction::EmitStmt()+0572 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgstmt.cpp, line 128+0021 byte(s)
> 028E838A (0x00D3CB0C 0x0027B380 0x00000000 0x00000000), 
clang::CodeGen::CodeGenFunction::EmitCompoundStmt()+0202 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgstmt.cpp, line 205+0014 byte(s)
> 028E8163 (0x0027B380 0x00D3CB50 0xCCCCCCCC 0xCCCCCCCC), 
clang::CodeGen::CodeGenFunction::EmitSimpleStmt()+0147 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgstmt.cpp, line 173+0057 byte(s)
> 028E7CA4 (0x0027B380 0x00D3D3E4 0x00D3CE7C 0x0027AE18), 
clang::CodeGen::CodeGenFunction::EmitStmt()+0084 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgstmt.cpp, line 48+0012 byte(s)
> 0292DA9C (0x0027ACA0 0x00D3D378 0x0027ACA0 0x00D3DCD4), 
clang::CodeGen::CodeGenFunction::GenerateBlockFunction()+1788 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgblocks.cpp, line 996
> 0292AB70 (0x0027B3C8 0x00D3D444 0x00D3D424 0x02926FEC), 
clang::CodeGen::CodeGenFunction::EmitBlockLiteral()+0176 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgblocks.cpp, line 495+0053 byte(s)
> 0292421C (0x0027B3C8 0x0025F330 0xCCCCCCCC 0xCCCCCCCC), `anonymous 
namespace'::ScalarExprEmitter::VisitBlockExpr()+0028 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgexprscalar.cpp, line 2612
> 02926FEC (0x0027B3C8 0x00D3D444 0x00D3D460 0x02924A79), 
clang::StmtVisitorBase<clang::make_ptr,`anonymous 
namespace'::ScalarExprEmitter,llvm::Value *>::Visit()+1468 bytes(s), 
c:\src\llvm\tools\clang\include\clang\ast\stmtvisitor.h, line 163+0012 byte(s)
> 0292558A (0x0027B3C8 0x0025F330 0x00D3DB28 0x00D3DB54), `anonymous 
namespace'::ScalarExprEmitter::Visit()+0026 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgexprscalar.cpp, line 153
> 02924A79 (0x0027B3C8 0x00000000 0xCCCCCCCC 0xCCCCCCCC), 
clang::CodeGen::CodeGenFunction::EmitScalarExpr()+0169 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgexprscalar.cpp, line 2735+0028 byte(s)
> 028F461C (0x00D3D504 0x0027B3C8 0x00000000 0x00000000), 
clang::CodeGen::CodeGenFunction::EmitAnyExpr()+0076 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgexpr.cpp, line 111+0017 byte(s)
> 028F479B (0x00D3D504 0x0027B3C8 0x0025F350 0x00000000), 
clang::CodeGen::CodeGenFunction::EmitAnyExprToTemp()+0203 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgexpr.cpp, line 127+0040 byte(s)
> 02896822 (0x00D3D6A4 0x0027B3C8 0x0025F350 0x00D3D820), 
clang::CodeGen::CodeGenFunction::EmitCallArg()+0546 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgcall.cpp, line 1442+0022 byte(s)
> 028DE4E7 (0x00D3D6A4 0x0025F3A0 0x0027B408 0x0027B40C), 
clang::CodeGen::CodeGenFunction::EmitCallArgs<clang::ObjCMethodDecl>()+0519 
bytes(s), c:\src\llvm\tools\clang\lib\codegen\codegenfunction.h, line 2412
> 028D5ABC (0x00D3D834 0x0027B3E4 0x00000000 0xCCCCCCCC), 
clang::CodeGen::CodeGenFunction::EmitObjCMessageExpr()+0844 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgobjc.cpp, line 218
> 0292819C (0x0027B3E4 0x00D3DA48 0xCCCCCCCC 0xCCCCCCCC), `anonymous 
namespace'::ScalarExprEmitter::VisitObjCMessageExpr()+0124 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgexprscalar.cpp, line 257+0029 byte(s)
> 029273B5 (0x0027B3E4 0x00D3D898 0x00D3D8B4 0x02924A79), 
clang::StmtVisitorBase<clang::make_ptr,`anonymous 
namespace'::ScalarExprEmitter,llvm::Value *>::Visit()+2437 bytes(s), 
c:\src\llvm\tools\clang\include\clang\ast\stmtvisitor.h, line 533+0012 byte(s)
> 0292558A (0x0027B3E4 0x00D3DA48 0x00D3DB28 0x00D3DB54), `anonymous 
namespace'::ScalarExprEmitter::Visit()+0026 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgexprscalar.cpp, line 153
> 02924A79 (0x0027B3E4 0x00000001 0xCCCCCCCC 0xCCCCCCCC), 
clang::CodeGen::CodeGenFunction::EmitScalarExpr()+0169 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgexprscalar.cpp, line 2735+0028 byte(s)
> 028F461C (0x00D3D91C 0x0027B3E4 0x00000000 0x00000000), 
clang::CodeGen::CodeGenFunction::EmitAnyExpr()+0076 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgexpr.cpp, line 111+0017 byte(s)
> 028F45AA (0x0027B3E4 0x00D3DA48 0x0000004F 0xCCCCCCCC), 
clang::CodeGen::CodeGenFunction::EmitIgnoredExpr()+0090 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgexpr.cpp, line 98+0048 byte(s)
> 028E7DBF (0x0027B3E4 0x00D3DE68 0xCCCCCCCC 0xCCCCCCCC), 
clang::CodeGen::CodeGenFunction::EmitStmt()+0367 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgstmt.cpp, line 101
> 028E838A (0x00D3DA04 0x0027B410 0x00000000 0x00000000), 
clang::CodeGen::CodeGenFunction::EmitCompoundStmt()+0202 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgstmt.cpp, line 205+0014 byte(s)
> 028E8163 (0x0027B410 0x00D3DA48 0xCCCCCCCC 0xCCCCCCCC), 
clang::CodeGen::CodeGenFunction::EmitSimpleStmt()+0147 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgstmt.cpp, line 173+0057 byte(s)
> 028E7CA4 (0x0027B410 0x00D3DA64 0xCCCCCCCC 0x000001AE), 
clang::CodeGen::CodeGenFunction::EmitStmt()+0084 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgstmt.cpp, line 48+0012 byte(s)
> 028D68B2 (0x0027ACA0 0x00D3DEC0 0x00D3DE8C 0x0000000E), 
clang::CodeGen::CodeGenFunction::GenerateObjCMethod()+0098 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\cgobjc.cpp, line 376
> 0281784F (0x0027ACA0 0x00D3DE8C 0x00D3DE88 0x00261890), 
clang::CodeGen::CodeGenModule::EmitTopLevelDecl()+0831 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\codegenmodule.cpp, line 2256+0026 byte(s)
> 0280E052 (0x0027ACA0 0x00D3DF44 0x00D3DECC 0x00261890), `anonymous 
namespace'::CodeGeneratorImpl::HandleTopLevelDecl()+0098 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\modulebuilder.cpp, line 65+0027 byte(s)
> 0280CC92 (0x0027ACA0 0x00D3E070 0x00D3DF50 0x0028DD18), 
clang::BackendConsumer::HandleTopLevelDecl()+0130 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\codegenaction.cpp, line 117+0033 byte(s)
> 014815DB (0x0028CE08 0x00000000 0x00D3E078 0x00000000), 
clang::ParseAST()+0347 bytes(s), 
c:\src\llvm\tools\clang\lib\parse\parseast.cpp, line 89+0030 byte(s)
> 013DE8B9 (0x00D3E0AC 0x00D3E078 0xCCCCCCCC 0xCCCCCCCC), 
clang::ASTFrontendAction::ExecuteAction()+0233 bytes(s), 
c:\src\llvm\tools\clang\lib\frontend\frontendaction.cpp, line 403+0031 byte(s)
> 0280C677 (0x00D3E108 0x00D3E0B4 0xCCCCCCCC 0xCCCCCCCC), 
clang::CodeGenAction::ExecuteAction()+0679 bytes(s), 
c:\src\llvm\tools\clang\lib\codegen\codegenaction.cpp, line 379
> 013DE573 (0x00D3E1A0 0x00D3E1AC 0xCCCCCCCC 0xCCCCCCCC), 
clang::FrontendAction::Execute()+0243 bytes(s), 
c:\src\llvm\tools\clang\lib\frontend\frontendaction.cpp, line 323+0015 byte(s)
> 013B3501 (0x0036AE90 0x00D3EA64 0x00D3E1AC 0xCCCCCCCC), 
clang::CompilerInstance::ExecuteAction()+0657 bytes(s), 
c:\src\llvm\tools\clang\lib\frontend\compilerinstance.cpp, line 615
> 01435CFA (0x003682C0 0x00D3F8B4 0x00D3F470 0x00368D10), 
clang::ExecuteCompilerInvocation()+0746 bytes(s), 
c:\src\llvm\tools\clang\lib\frontendtool\executecompilerinvocation.cpp, line 
171+0017 byte(s)
> 01310735 (0x00D3F478 0x00D3F494 0x00368050 0x013015C8), cc1_main()+0933 
bytes(s), c:\src\llvm\tools\clang\tools\driver\cc1_main.cpp, line 159+0014 
byte(s)
> 013033A3 (0x00000009 0x002407F8 0x00361960 0x88192541), main()+0339 bytes(s), 
c:\src\llvm\tools\clang\tools\driver\driver.cpp, line 354+0069 byte(s)
> 026797F8 (0x00D3F918 0x76B0339A 0x7EFDE000 0x00D3F958), 
__tmainCRTStartup()+0424 bytes(s), 
f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c, line 586+0025 byte(s)
> 0267963F (0x7EFDE000 0x00D3F958 0x778B9ED2 0x7EFDE000), mainCRTStartup()+0015 
bytes(s), f:\dd\vctools\crt_bld\self_x86\crt\src\crtexe.c, line 403
> 76B0339A (0x7EFDE000 0x77A090F7 0x00000000 0x00000000), 
BaseThreadInitThunk()+0018 bytes(s)
> 778B9ED2 (0x02679630 0x7EFDE000 0x00000000 0x00000000), 
RtlInitializeExceptionChain()+0099 bytes(s)
> 778B9EA5 (0x02679630 0x7EFDE000 0x00000000 0x00000000), 
RtlInitializeExceptionChain()+0054 bytes(s)
> --

-- 
Configure bugmail: http://llvm.org/bugs/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are on the CC list for the bug.



More information about the llvm-bugs mailing list