[Swift CI] Build Failure: 1. OSS - Swift ASAN - OS X (master) #2935

Report

[FAILURE] oss-swift-incremental-ASAN-RA-osx [#2935]

Build URL:
https://ci.swift.org/job/oss-swift-incremental-ASAN-RA-osx/2935/
Project:
oss-swift-incremental-ASAN-RA-osx
Date of build:
Fri, 04 Jan 2019 19:15:10 -0600
Build duration:
2 hr 28 min

Identified problems:

  • Compile Error: This build failed because of a compile error. Below is a list of all errors in the build log:

Changes

  • Commit 7ea7d3252e9eb7b641aa0caa102afdccbb77c1c4 by dgregor:
    [Type checker] Allow unowned/unowned(unsafe) optional lets.

    • edit: lib/Sema/TypeCheckAttr.cpp
    • edit: test/attr/attributes.swift
  • Commit 50d6b19e98dbe1701a11e8f859dba7822f91d40a by compnerd:
    IRGen: use named IRLinkage a bit more (NFC)

    • edit: lib/IRGen/GenReflection.cpp
    • edit: lib/IRGen/MetadataRequest.cpp
  • Commit a6df0469cf2222a8dee1fedfff273dff3a9cc17f by compnerd:
    IRGen: create InternalWeakODR named IRLinkage (NFC)

    • edit: include/swift/IRGen/Linking.h
    • edit: lib/IRGen/Linking.cpp
    • edit: lib/IRGen/IRGenModule.cpp
  • Commit e187c6584e676bc151eff9208e7d97968ca66cf4 by compnerd:
    IRGen: only apply DLLStorage if appropriate

    • edit: include/swift/IRGen/Linking.h
  • Commit 9546cc241363652e0a9cfb0ea54120a41480b2de by compnerd:
    IRGen: always provide DLLStorage

    • edit: lib/IRGen/IRGenModule.cpp
  • Commit 02dfb509bab1168016171f11511b43a0c43075db by compnerd:
    IRGen: create new External{Im,Ex}port named linkages

    • edit: lib/IRGen/Linking.cpp
    • edit: include/swift/IRGen/Linking.h
    • edit: lib/IRGen/IRGenModule.cpp
  • Commit d3efed2943d6b212432e7091a72e32694192c04d by compnerd:
    IRGen: use ApplyIRLinkage more aggressively (NFC)

    • edit: lib/IRGen/GenDecl.cpp
    • edit: lib/IRGen/GenFunc.cpp
    • edit: lib/IRGen/IRGenModule.cpp
  • Commit 41e2e29f8387877868e51af7701bd5fc27ac2d5e by eeckstein:
    SIL: Store type lowerings for multiple resilience expansions

    • edit: lib/SIL/SILType.cpp
    • edit: include/swift/SIL/SILType.h
    • edit: include/swift/SIL/SILModule.h
    • edit: lib/SIL/TypeLowering.cpp
    • edit: include/swift/SIL/TypeLowering.h
  • Commit 5a91d13d7882085a77e4c9fbffa14f5d5d1d05f2 by eeckstein:
    SIL: make verification for loadable types more accurate regarding

    • edit: include/swift/SIL/SILBuilder.h
    • edit: lib/SIL/SILBuilder.cpp
    • edit: lib/SIL/SILVerifier.cpp
  • Commit aa5a4e101b733e227c9fb59170c80b79c680357f by eeckstein:
    GlobalOpt: optimize static properties with resilient types.

    • edit: lib/SILOptimizer/IPO/GlobalOpt.cpp
    • add: test/SILOptimizer/globalopt_resilience.swift
  • Commit 7175e1790a3b42f7795fdb4e896da217dd064de3 by mgottesman:
    [pmo] Eliminate dead flat namespace tuple numbering from

    • edit: lib/SILOptimizer/Mandatory/PMOMemoryUseCollector.cpp
    • edit: lib/SILOptimizer/Mandatory/PMOMemoryUseCollector.h
    • edit: lib/SILOptimizer/Mandatory/PredictableMemOpt.cpp
  • Commit 7b7ccdcca07e8b96b547501293b1991515de2c5c by mgottesman:
    [pmo] Eliminate more dead code.

    • edit: lib/SILOptimizer/Mandatory/PMOMemoryUseCollector.cpp
    • edit: lib/SILOptimizer/Mandatory/PMOMemoryUseCollector.h
  • Commit 5195e792e95cf58ef73c920d1e3c71f7ed4aa4ac by shajrawi:
    [Exclusivity] Change the exclusivity checks inline heuristic threshold

    • edit: lib/SILOptimizer/Transforms/PerformanceInliner.cpp
  • Commit ecacc7541fbb0700aa87f553b3b790b946f45a67 by mgottesman:
    [pmo] Now that we are doing far less in these methods, inline them.

    • edit: lib/SILOptimizer/Mandatory/PMOMemoryUseCollector.cpp
  • Commit 819ad3ed3e369b6e1d39cf64ca62584bf7c798a7 by ankit_aggarwal:
    Update Docker utils dependencies

    • add: Utilities/Docker/.gitignore
    • edit: Utilities/Docker/requirements.txt
  • Commit c924e56556edb63b7a89ea183894e5f83abeb1ad by ankit_aggarwal:
    [DockerUtils] Use a more secure version of pyyaml

    • edit: Utilities/Docker/requirements.txt
  • Commit 035b0c0b0f3834f20dec910b127072f70caf1cfa by ankit_aggarwal:
    [Workspace] Diagnose duplicate root packages

    • edit: Sources/Workspace/Workspace.swift
    • edit: Sources/Workspace/Diagnostics.swift
    • edit: Tests/WorkspaceTests/WorkspaceTests.swift
    • edit: Sources/TestSupport/TestWorkspace.swift
    • edit: Tests/WorkspaceTests/XCTestManifests.swift

Looks like a legitimate bug caught by ASan. Michael, perhaps?

**21:43:25** ================================================================= **21:43:25** ==53773==ERROR: AddressSanitizer: heap-use-after-free on address 0x60c000ca2388 at pc 0x0001050b13bd bp 0x7ffeecf328d0 sp 0x7ffeecf328c8 **21:43:25** READ of size 8 at 0x60c000ca2388 thread T0 **21:43:25**     #0 0x1050b13bc in (anonymous namespace)::SILGlobalOpt::run() GlobalOpt.cpp **21:43:25**     #1 0x1050a7ba7 in (anonymous namespace)::SILGlobalOptPass::run() GlobalOpt.cpp:1015 **21:43:25**     #2 0x10534e441 in swift::SILPassManager::runModulePass(unsigned int) PassManager.cpp:557 **21:43:25**     #3 0x105350942 in swift::SILPassManager::execute() PassManager.cpp:623 **21:43:25**     #4 0x10322bb07 in swift::SILPassManager::executePassPipelinePlan(swift::SILPassPipelinePlan const&) PassManager.h:269 **21:43:25**     #5 0x10537782c in swift::runSILOptimizationPasses(swift::SILModule&) Passes.cpp:102 **21:43:25**     #6 0x1049bb798 in swift::CompilerInstance::performSILProcessing(swift::SILModule*, swift::UnifiedStatsReporter*) Frontend.cpp:1125 **21:43:25**     #7 0x102decc40 in performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) FrontendTool.cpp:1238 **21:43:25**     #8 0x102de033c in swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) FrontendTool.cpp:1767 **21:43:25**     #9 0x102ccce0e in run_driver(llvm::StringRef, llvm::ArrayRef<char const*>) driver.cpp:122 **21:43:25**     #10 0x102cc9bb5 in main driver.cpp:246 **21:43:25**     #11 0x7fff63e91014 in start (libdyld.dylib:x86_64+0x1014) **21:43:25**
**21:43:25** 0x60c000ca2388 is located 72 bytes inside of 128-byte region [0x60c000ca2340,0x60c000ca23c0) **21:43:25** freed by thread T0 here: **21:43:25**     #0 0x117fd210d in wrap_free (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x5710d) **21:43:25**     #1 0x105ad3b42 in swift::SILBasicBlock::erase(swift::SILInstruction*) SILBasicBlock.cpp:118 **21:43:25**     #2 0x1050acd36 in (anonymous namespace)::SILGlobalOpt::run() GlobalOpt.cpp:704 **21:43:25**     #3 0x1050a7ba7 in (anonymous namespace)::SILGlobalOptPass::run() GlobalOpt.cpp:1015 **21:43:25**     #4 0x10534e441 in swift::SILPassManager::runModulePass(unsigned int) PassManager.cpp:557 **21:43:25**     #5 0x105350942 in swift::SILPassManager::execute() PassManager.cpp:623 **21:43:25**     #6 0x10322bb07 in swift::SILPassManager::executePassPipelinePlan(swift::SILPassPipelinePlan const&) PassManager.h:269 **21:43:25**     #7 0x10537782c in swift::runSILOptimizationPasses(swift::SILModule&) Passes.cpp:102 **21:43:25**     #8 0x1049bb798 in swift::CompilerInstance::performSILProcessing(swift::SILModule*, swift::UnifiedStatsReporter*) Frontend.cpp:1125 **21:43:25**     #9 0x102decc40 in performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) FrontendTool.cpp:1238 **21:43:25**     #10 0x102de033c in swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) FrontendTool.cpp:1767 **21:43:25**     #11 0x102ccce0e in run_driver(llvm::StringRef, llvm::ArrayRef<char const*>) driver.cpp:122 **21:43:25**     #12 0x102cc9bb5 in main driver.cpp:246 **21:43:25**     #13 0x7fff63e91014 in start (libdyld.dylib:x86_64+0x1014) **21:43:25**
**21:43:25** previously allocated by thread T0 here: **21:43:25**     #0 0x117fd28d7 in wrap_posix_memalign (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x578d7) **21:43:25**     #1 0x105bd865e in swift::SILModule::allocateInst(unsigned int, unsigned int) const Malloc.h:42 **21:43:25**     #2 0x104cd45f1 in swift::Lowering::SILGenFunction::emitSemanticLoadInto(swift::SILLocation, swift::SILValue, swift::Lowering::TypeLowering const&, swift::SILValue, swift::Lowering::TypeLowering const&, swift::IsTake_t, swift::IsInitialization_t) SILInstruction.h:366 **21:43:25**     #3 0x104cfb056 in void llvm::function_ref<void (swift::SILValue)>::callback_fn<swift::Lowering::SILGenFunction::emitLoad(swift::SILLocation, swift::SILValue, swift::Lowering::TypeLowering const&, swift::Lowering::SGFContext, swift::IsTake_t, bool)::$_4>(long, swift::SILValue) SILGenLValue.cpp:3402 **21:43:25**     #4 0x104b995b1 in swift::Lowering::SILGenBuilder::bufferForExpr(swift::SILLocation, swift::SILType, swift::Lowering::TypeLowering const&, swift::Lowering::SGFContext, llvm::function_ref<void (swift::SILValue)>) STLExtras.h:132 **21:43:25**     #5 0x104cb3229 in swift::Lowering::SILGenFunction::emitLoad(swift::SILLocation, swift::SILValue, swift::Lowering::TypeLowering const&, swift::Lowering::SGFContext, swift::IsTake_t, bool) SILGenLValue.cpp:3399 **21:43:25**     #6 0x104cc31f2 in swift::Lowering::SILGenFunction::emitLoad(swift::SILLocation, swift::SILValue, swift::Lowering::AbstractionPattern, swift::CanType, swift::Lowering::TypeLowering const&, swift::Lowering::SGFContext, swift::IsTake_t, bool) SILGenLValue.cpp:3350 **21:43:25**     #7 0x104cc47f1 in swift::Lowering::SILGenFunction::emitLoadOfLValue(swift::SILLocation, swift::Lowering::LValue&&, swift::Lowering::SGFContext, bool) SILGenLValue.cpp:3863 **21:43:25**     #8 0x104c62092 in swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) SILGenExpr.cpp:2179 **21:43:25**     #9 0x104c23d43 in swift::Lowering::SILGenFunction::emitExprInto(swift::Expr*, swift::Lowering::Initialization*, llvm::Optional<swift::SILLocation>) SILGenExpr.cpp:5360 **21:43:25**     #10 0x104d8e00c in swift::Lowering::SILGenFunction::emitReturnExpr(swift::SILLocation, swift::Expr*) SILGenStmt.cpp:467 **21:43:25**     #11 0x104d8404c in swift::ASTVisitor<(anonymous namespace)::StmtEmitter, void, void, void, void, void, void>::visit(swift::Stmt*) SILGenStmt.cpp:496 **21:43:25**     #12 0x104d7dc01 in swift::ASTVisitor<(anonymous namespace)::StmtEmitter, void, void, void, void, void, void>::visit(swift::Stmt*) SILGenStmt.cpp:336 **21:43:25**     #13 0x104d7d2aa in swift::Lowering::SILGenFunction::emitStmt(swift::Stmt*) SILGenStmt.cpp:197 **21:43:25**     #14 0x104c9dbc1 in swift::Lowering::SILGenFunction::emitFunction(swift::FuncDecl*) SILGenFunction.cpp:401 **21:43:25**     #15 0x104afccb7 in swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*)::$_1::operator()(swift::SILFunction*) const SILGen.cpp:825 **21:43:25**     #16 0x104ae1104 in swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*) SILGen.cpp:717 **21:43:25**     #17 0x104da9778 in (anonymous namespace)::SILGenType::visitFuncDecl(swift::FuncDecl*) SILGenType.cpp:990 **21:43:25**     #18 0x104da245d in (anonymous namespace)::SILGenType::emitType() ASTVisitor.h **21:43:25**     #19 0x104dac507 in swift::ASTVisitor<SILGenExtension, void, void, void, void, void, void>::visit(swift::Decl*) SILGenType.cpp:1083 **21:43:25**     #20 0x104da4553 in SILGenExtension::emitExtension(swift::ExtensionDecl*) SILGenType.cpp:1060 **21:43:25**     #21 0x104da443a in swift::Lowering::SILGenModule::visitExtensionDecl(swift::ExtensionDecl*) SILGenType.cpp:1131 **21:43:25**     #22 0x104af396b in swift::ASTVisitor<swift::Lowering::SILGenModule, void, void, void, void, void, void>::visit(swift::Decl*) DeclNodes.def:177 **21:43:25**     #23 0x104af0d1f in swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*) SILGen.cpp:1705 **21:43:25**     #24 0x104af401e in swift::SILModule::constructSIL(swift::ModuleDecl*, swift::SILOptions&, swift::FileUnit*) SILGen.cpp:1748 **21:43:25**     #25 0x104af4e6f in swift::performSILGeneration(swift::ModuleDecl*, swift::SILOptions&) SILGen.cpp:1791 **21:43:25**     #26 0x102dea69a in performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) FrontendTool.cpp:823 **21:43:25**     #27 0x102de033c in swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) FrontendTool.cpp:1767 **21:43:25**     #28 0x102ccce0e in run_driver(llvm::StringRef, llvm::ArrayRef<char const*>) driver.cpp:122 **21:43:25**     #29 0x102cc9bb5 in main driver.cpp:246 **21:43:25**
**21:43:25** SUMMARY: AddressSanitizer: heap-use-after-free GlobalOpt.cpp in (anonymous namespace)::SILGlobalOpt::run() **21:43:25** Shadow bytes around the buggy address: **21:43:25**   0x1c1800194420: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa **21:43:25**   0x1c1800194430: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa **21:43:25**   0x1c1800194440: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa **21:43:25**   0x1c1800194450: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa **21:43:25**   0x1c1800194460: fa fa fa fa fa fa fa fa fd fd fd fd fd fd fd fd **21:43:25** =>0x1c1800194470: fd[fd]fd fd fd fd fd fd fa fa fa fa fa fa fa fa **21:43:25**   0x1c1800194480: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa **21:43:25**   0x1c1800194490: fa fa fa fa fa fa fa fa 00 00 00 00 00 00 00 00 **21:43:25**   0x1c18001944a0: 00 00 00 00 00 00 00 00 fa fa fa fa fa fa fa fa **21:43:25**   0x1c18001944b0: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 fa **21:43:25**   0x1c18001944c0: fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa fa **21:43:25** Shadow byte legend (one shadow byte represents 8 application bytes): **21:43:25**   Addressable: 00 **21:43:25**   Partially addressable: 01 02 03 04 05 06 07 **21:43:25**   Heap left redzone: fa **21:43:25**   Freed heap region: fd **21:43:25**   Stack left redzone: f1 **21:43:25**   Stack mid redzone: f2 **21:43:25**   Stack right redzone: f3 **21:43:25**   Stack after return: f5 **21:43:25**   Stack use after scope: f8 **21:43:25**   Global redzone: f9 **21:43:25**   Global init order: f6 **21:43:25**   Poisoned by user: f7 **21:43:25**   Container overflow: fc **21:43:25**   Array cookie: ac **21:43:25**   Intra object redzone: bb **21:43:25**   ASan internal: fe **21:43:25**   Left alloca redzone: ca **21:43:25**   Right alloca redzone: cb **21:43:25** ==53773==ABORTING

Ah, that’s probably mine.