[Swift CI] Build Failure: 0. OSS - Swift Incremental RA - Ubuntu 18.04 (swift 5.0) #325

Report

[FAILURE] oss-swift-5.0-incremental-RA-linux-ubuntu-18_04 [#325]

Build URL:
https://ci.swift.org/job/oss-swift-5.0-incremental-RA-linux-ubuntu-18_04/325/
Project:
oss-swift-5.0-incremental-RA-linux-ubuntu-18_04
Date of build:
Thu, 20 Dec 2018 17:14:56 -0600
Build duration:
41 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 530d805092eb594186ff4ac413b7f419536f637a by jordan_rose:
    Revert "[Serialization] Use full target architectures for swiftmodule

    • delete: test/Serialization/load-arch-fallback-framework.swift
    • delete: test/Serialization/load-arch-fallback.swift
    • edit: lib/Serialization/SerializedModuleLoader.cpp
    • edit: test/lit.cfg
  • Commit 322151203812c7e267bc887213b6b568cb812a77 by artem.dergachev:
    [analyzer] Improve modeling for returning an object from the top frame

    • edit: test/Analysis/temporaries.cpp
    • edit: lib/StaticAnalyzer/Core/ExprEngineCXX.cpp
  • Commit 1a2c4bbd09aec7a2df3ce5094044bc5a77f883da by artem.dergachev:
    [analyzer] CStringChecker: Fix a crash on C++ overloads of standard

    • edit: lib/StaticAnalyzer/Checkers/CStringChecker.cpp
  • Commit 3ebbdedf470e7095f6bbd596f25020ea0b0ba818 by artem.dergachev:
    [analyzer] CStringChecker: Add the forgotten test file.

    • add: test/Analysis/string.cpp

17:56:00
swift: /home/buildnode/jenkins/workspace/oss-swift-5.0-incremental-RA-linux-ubuntu-18_04/llvm/lib/Support/MemoryBuffer.cpp:49: void llvm::MemoryBuffer::init(const char *, const char *, bool): Assertion `(!RequiresNullTerminator || BufEnd[0] == 0) && "Buffer is not null terminated!"' failed.

17:56:00
#12 0x0000000003eeeb12 clang::FileManager::getBufferForFile(clang::FileEntry const*, bool, bool) (/home/buildnode/jenkins/workspace/oss-swift-5.0-incremental-RA-linux-ubuntu-18_04/buildbot_incremental/swift-linux-x86_64/bin/swift+0x3eeeb12)

17:56:00
#13 0x0000000003643117 clang::serialization::ModuleManager::addModule(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, clang::serialization::ModuleFile*, unsigned int, long, long, clang::ASTFileSignature, clang::ASTFileSignature ()(llvm::StringRef), clang::serialization::ModuleFile&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&) (/home/buildnode/jenkins/workspace/oss-swift-5.0-incremental-RA-linux-ubuntu-18_04/buildbot_incremental/swift-linux-x86_64/bin/swift+0x3643117)

This sounds like a Clang bug that would only happen if a PCM file has a size equal to a multiple of pages. Bruno, Volodymyr?

17:56:00
swift: /home/buildnode/jenkins/workspace/oss-swift-5.0-incremental-RA-linux-ubuntu-18_04/llvm/lib/Support/MemoryBuffer.cpp:49: void llvm::MemoryBuffer::init(const char *, const char *, bool): Assertion `(!RequiresNullTerminator || BufEnd[0] == 0) && "Buffer is not null terminated!"' failed.

17:56:00
#12 0x0000000003eeeb12 clang::FileManager::getBufferForFile(clang::FileEntry const*, bool, bool) (/home/buildnode/jenkins/workspace/oss-swift-5.0-incremental-RA-linux-ubuntu-18_04/buildbot_incremental/swift-linux-x86_64/bin/swift+0x3eeeb12)

17:56:00
#13 0x0000000003643117 clang::serialization::ModuleManager::addModule(llvm::StringRef, clang::serialization::ModuleKind, clang::SourceLocation, clang::serialization::ModuleFile*, unsigned int, long, long, clang::ASTFileSignature, clang::ASTFileSignature ()(llvm::StringRef), clang::serialization::ModuleFile&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >&) (/home/buildnode/jenkins/workspace/oss-swift-5.0-incremental-RA-linux-ubuntu-18_04/buildbot_incremental/swift-linux-x86_64/bin/swift+0x3643117)

This sounds like a Clang bug that would only happen if a PCM file has a size equal to a multiple of pages. Bruno, Volodymyr?

Haven't seen this one yet. Is this failing consistently? Perhaps is the assertion powered version of the same concurrency problems we are seeing elsewhere.

-Bruno

Ah, I think I misunderstood the null terminator problem. Yeah, that could be—if the file is overwritten before it's read but after we have a size for it, or something.

Jordan