bazel-xcode / xchammer

XCHammer generates Xcode projects from a Bazel Workspace.
Apache License 2.0
312 stars 49 forks source link

Can't build XCHammer with Xcode 12 GM + Bazel 3.5.0 #257

Closed hewigovens closed 4 years ago

hewigovens commented 4 years ago

Hi, I'm playing around some bazel supporting tools like XCHammer and Tulsi.

How to reproduce:

  1. git clone repo
  2. run make install
  3. get error when building SwiftShell
ERROR: /private/var/tmp/_bazel_hewig/ef8b0bb4d301facc8a6f0a30c8101a06/external/xchammer-SwiftShell/BUILD.bazel:6:14: Compiling Swift module SwiftShell failed (Exit 1)
external/xchammer-SwiftShell/Sources/SwiftShell/Command.swift:119:28: warning: enum case 'returnedErrorCode' has 2 associated values; matching them as a tuple is deprecated
                case (.returnedErrorCode(let c1), .returnedErrorCode(let c2)):
                                         ^
external/xchammer-SwiftShell/Sources/SwiftShell/Command.swift:89:7: note: 'returnedErrorCode(command:errorcode:)' declared here
        case returnedErrorCode(command: String, errorcode: Int)
             ^
external/xchammer-SwiftShell/Sources/SwiftShell/Command.swift:119:56: warning: enum case 'returnedErrorCode' has 2 associated values; matching them as a tuple is deprecated
                case (.returnedErrorCode(let c1), .returnedErrorCode(let c2)):
                                                                     ^
external/xchammer-SwiftShell/Sources/SwiftShell/Command.swift:89:7: note: 'returnedErrorCode(command:errorcode:)' declared here
        case returnedErrorCode(command: String, errorcode: Int)
             ^
external/xchammer-SwiftShell/Sources/SwiftShell/Stream/Lazy-split.swift:69:18: warning: 'LazyMapIterator' is deprecated: renamed to 'LazyMapSequence.Iterator'
        private var gs: LazyMapIterator<AnyIterator<Base>, LazySplitSequence<Base>>
                        ^
external/xchammer-SwiftShell/Sources/SwiftShell/Stream/Lazy-split.swift:69:18: note: use 'LazyMapSequence.Iterator' instead
        private var gs: LazyMapIterator<AnyIterator<Base>, LazySplitSequence<Base>>
                        ^~~~~~~~~~~~~~~
                        LazyMapSequence.Iterator
Stack dump:
0.  Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file external/xchammer-SwiftShell/Sources/SwiftShell/Bash.swift -primary-file external/xchammer-SwiftShell/Sources/SwiftShell/Command.swift -primary-file external/xchammer-SwiftShell/Sources/SwiftShell/Context.swift -primary-file external/xchammer-SwiftShell/Sources/SwiftShell/FileHandle.swift -primary-file external/xchammer-SwiftShell/Sources/SwiftShell/Files.swift -primary-file external/xchammer-SwiftShell/Sources/SwiftShell/General/Array.swift -primary-file external/xchammer-SwiftShell/Sources/SwiftShell/Process.swift -primary-file external/xchammer-SwiftShell/Sources/SwiftShell/Stream/Lazy-split.swift -primary-file external/xchammer-SwiftShell/Sources/SwiftShell/Stream/Stream.swift -primary-file external/xchammer-SwiftShell/Sources/SwiftShell/String.swift -supplementary-output-file-map /tmp/supplementaryOutputs-994257 -target x86_64-apple-macosx10.14 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -I /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/usr/lib -F /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks -module-cache-path /tmp/swift_module_cache.pVWDPA -swift-version 4.2 -O -D NDEBUG -D SWIFT_PACKAGE -debug-prefix-map /private/var/tmp/_bazel_hewig/ef8b0bb4d301facc8a6f0a30c8101a06/execroot/__main__=. -color-diagnostics -Xcc -iquote. -Xcc -iquotebazel-out/macos-x86_64-min10.14-applebin_macos-darwin_x86_64-opt/bin -Xcc -Os -Xcc -DNDEBUG=1 -Xcc -Wno-unused-variable -Xcc -Winit-self -Xcc -Wno-extra -target-sdk-version 10.15.6 -parse-as-library -module-name SwiftShell -o bazel-out/macos-x86_64-min10.14-applebin_macos-darwin_x86_64-opt/bin/_swift_incremental/external/xchammer-SwiftShell/SwiftShell_objs/Sources/SwiftShell/Bash.swift.o -o bazel-out/macos-x86_64-min10.14-applebin_macos-darwin_x86_64-opt/bin/_swift_incremental/external/xchammer-SwiftShell/SwiftShell_objs/Sources/SwiftShell/Command.swift.o -o bazel-out/macos-x86_64-min10.14-applebin_macos-darwin_x86_64-opt/bin/_swift_incremental/external/xchammer-SwiftShell/SwiftShell_objs/Sources/SwiftShell/Context.swift.o -o bazel-out/macos-x86_64-min10.14-applebin_macos-darwin_x86_64-opt/bin/_swift_incremental/external/xchammer-SwiftShell/SwiftShell_objs/Sources/SwiftShell/FileHandle.swift.o -o bazel-out/macos-x86_64-min10.14-applebin_macos-darwin_x86_64-opt/bin/_swift_incremental/external/xchammer-SwiftShell/SwiftShell_objs/Sources/SwiftShell/Files.swift.o -o bazel-out/macos-x86_64-min10.14-applebin_macos-darwin_x86_64-opt/bin/_swift_incremental/external/xchammer-SwiftShell/SwiftShell_objs/Sources/SwiftShell/General/Array.swift.o -o bazel-out/macos-x86_64-min10.14-applebin_macos-darwin_x86_64-opt/bin/_swift_incremental/external/xchammer-SwiftShell/SwiftShell_objs/Sources/SwiftShell/Process.swift.o -o bazel-out/macos-x86_64-min10.14-applebin_macos-darwin_x86_64-opt/bin/_swift_incremental/external/xchammer-SwiftShell/SwiftShell_objs/Sources/SwiftShell/Stream/Lazy-split.swift.o -o bazel-out/macos-x86_64-min10.14-applebin_macos-darwin_x86_64-opt/bin/_swift_incremental/external/xchammer-SwiftShell/SwiftShell_objs/Sources/SwiftShell/Stream/Stream.swift.o -o bazel-out/macos-x86_64-min10.14-applebin_macos-darwin_x86_64-opt/bin/_swift_incremental/external/xchammer-SwiftShell/SwiftShell_objs/Sources/SwiftShell/String.swift.o
1.  Apple Swift version 5.3 (swiftlang-1200.0.29.2 clang-1200.0.30.1)
2.  While evaluating request TypeCheckSourceFileRequest(source_file "external/xchammer-SwiftShell/Sources/SwiftShell/Stream/Stream.swift")
3.  While type-checking 'FileHandleStream' (at external/xchammer-SwiftShell/Sources/SwiftShell/Stream/Stream.swift:207:8)
4.  While type-checking protocol conformance to 'TextOutputStreamable' (in module 'Swift') for type 'FileHandleStream' (declared at [external/xchammer-SwiftShell/Sources/SwiftShell/Stream/Stream.swift:207:8 - line:215:1] RangeText="class FileHandleStream: ReadableStream, WritableStream {
    public let filehandle: FileHandle
    public var encoding: String.Encoding

    public init(_ filehandle: FileHandle, encoding: String.Encoding) {
        self.filehandle = filehandle
        self.encoding = encoding
    }
")
0  swift                    0x0000000104b7f865 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 37
1  swift                    0x0000000104b7e865 llvm::sys::RunSignalHandlers() + 85
2  swift                    0x0000000104b7fe1f SignalHandler(int) + 111
3  libsystem_platform.dylib 0x00007fff728255fd _sigtramp + 29
4  libsystem_platform.dylib 000000000000000000 _sigtramp + 18446603338595019296
5  swift                    0x00000001014260fb swift::constraints::ConstraintSystem::simplifyRestrictedConstraint(swift::constraints::ConversionRestrictionKind, swift::Type, swift::Type, swift::constraints::ConstraintKind, swift::OptionSet<swift::constraints::ConstraintSystem::TypeMatchFlags, unsigned int>, swift::constraints::ConstraintLocatorBuilder) + 779
6  swift                    0x0000000101415c80 swift::constraints::ConstraintSystem::matchTypes(swift::Type, swift::Type, swift::constraints::ConstraintKind, swift::OptionSet<swift::constraints::ConstraintSystem::TypeMatchFlags, unsigned int>, swift::constraints::ConstraintLocatorBuilder) + 14960
7  swift                    0x0000000101420ec1 swift::constraints::ConstraintSystem::repairFailures(swift::Type, swift::Type, swift::constraints::ConstraintKind, llvm::SmallVectorImpl<swift::constraints::RestrictionOrFix>&, swift::constraints::ConstraintLocatorBuilder) + 12529
8  swift                    0x0000000101415c15 swift::constraints::ConstraintSystem::matchTypes(swift::Type, swift::Type, swift::constraints::ConstraintKind, swift::OptionSet<swift::constraints::ConstraintSystem::TypeMatchFlags, unsigned int>, swift::constraints::ConstraintLocatorBuilder) + 14853
9  swift                    0x0000000101416039 swift::constraints::ConstraintSystem::matchTypes(swift::Type, swift::Type, swift::constraints::ConstraintKind, swift::OptionSet<swift::constraints::ConstraintSystem::TypeMatchFlags, unsigned int>, swift::constraints::ConstraintLocatorBuilder) + 15913
10 swift                    0x000000010143aaa0 swift::constraints::ConstraintSystem::addConstraintImpl(swift::constraints::ConstraintKind, swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder, bool) + 96
11 swift                    0x0000000101411b42 swift::constraints::ConstraintSystem::addConstraint(swift::constraints::ConstraintKind, swift::Type, swift::Type, swift::constraints::ConstraintLocatorBuilder, bool) + 66
12 swift                    0x00000001016429bd llvm::Optional<swift::RequirementMatch> llvm::function_ref<llvm::Optional<swift::RequirementMatch> (swift::Type, swift::Type)>::callback_fn<swift::matchWitness(llvm::DenseMap<std::__1::pair<swift::GenericSignatureImpl const*, swift::ClassDecl const*>, swift::RequirementEnvironment, llvm::DenseMapInfo<std::__1::pair<swift::GenericSignatureImpl const*, swift::ClassDecl const*> >, llvm::detail::DenseMapPair<std::__1::pair<swift::GenericSignatureImpl const*, swift::ClassDecl const*>, swift::RequirementEnvironment> >&, swift::ProtocolDecl*, swift::ProtocolConformance*, swift::DeclContext*, swift::ValueDecl*, swift::ValueDecl*)::$_1>(long, swift::Type, swift::Type) + 93
13 swift                    0x0000000101623dca swift::matchWitness(swift::DeclContext*, swift::ValueDecl*, swift::ValueDecl*, llvm::function_ref<std::__1::tuple<llvm::Optional<swift::RequirementMatch>, swift::Type, swift::Type> ()>, llvm::function_ref<llvm::Optional<swift::RequirementMatch> (swift::Type, swift::Type)>, llvm::function_ref<swift::RequirementMatch (bool, llvm::ArrayRef<swift::OptionalAdjustment>)>) + 8778
14 swift                    0x0000000101625903 swift::matchWitness(llvm::DenseMap<std::__1::pair<swift::GenericSignatureImpl const*, swift::ClassDecl const*>, swift::RequirementEnvironment, llvm::DenseMapInfo<std::__1::pair<swift::GenericSignatureImpl const*, swift::ClassDecl const*> >, llvm::detail::DenseMapPair<std::__1::pair<swift::GenericSignatureImpl const*, swift::ClassDecl const*>, swift::RequirementEnvironment> >&, swift::ProtocolDecl*, swift::ProtocolConformance*, swift::DeclContext*, swift::ValueDecl*, swift::ValueDecl*) + 1187
15 swift                    0x0000000101626452 swift::WitnessChecker::findBestWitness(swift::ValueDecl*, bool*, swift::NormalProtocolConformance*, llvm::SmallVectorImpl<swift::RequirementMatch>&, unsigned int&, unsigned int&, bool&) + 946
16 swift                    0x0000000101630ac3 swift::ConformanceChecker::resolveWitnessViaLookup(swift::ValueDecl*) + 643
17 swift                    0x000000010162b9a5 swift::MultiConformanceChecker::checkIndividualConformance(swift::NormalProtocolConformance*, bool) + 14773
18 swift                    0x0000000101627a93 swift::MultiConformanceChecker::checkAllConformances() + 147
19 swift                    0x0000000101637617 swift::TypeChecker::checkConformancesInContext(swift::DeclContext*, swift::IterableDeclContext*) + 8295
20 swift                    0x00000001015e789a (anonymous namespace)::DeclChecker::visitClassDecl(swift::ClassDecl*) + 8138
21 swift                    0x00000001015dfd93 (anonymous namespace)::DeclChecker::visit(swift::Decl*) + 2739
22 swift                    0x00000001016a7621 swift::TypeCheckSourceFileRequest::evaluate(swift::Evaluator&, swift::SourceFile*) const + 753
23 swift                    0x00000001016aa4a9 llvm::Expected<swift::TypeCheckSourceFileRequest::OutputType> swift::Evaluator::getResultUncached<swift::TypeCheckSourceFileRequest>(swift::TypeCheckSourceFileRequest const&) + 953
24 swift                    0x00000001016a71a4 swift::TypeCheckSourceFileRequest::OutputType swift::evaluateOrDefault<swift::TypeCheckSourceFileRequest>(swift::Evaluator&, swift::TypeCheckSourceFileRequest, swift::TypeCheckSourceFileRequest::OutputType) + 164
25 swift                    0x000000010082255b swift::CompilerInstance::performSemaUpTo(swift::SourceFile::ASTStage_t) + 6859
26 swift                    0x00000001006e32fd swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 6845
27 swift                    0x0000000100667c07 main + 1255
28 libdyld.dylib            0x00007fff7262ccc9 start + 1
29 libdyld.dylib            0x0000000000000055 start + 18446603338597086093
<unknown>:0: error: unable to execute command: Segmentation fault: 11
<unknown>:0: error: compile command failed due to signal 11 (use -v to see invocation)
Target //:xchammer failed to build
Use --verbose_failures to see the command lines of failed build steps.
TimNN commented 4 years ago

Same issue here with Xcode 12.0.1 (12A7300) and bazel 3.4.1.

TimNN commented 4 years ago

I could resolve this issue by updating SwiftShell to the latest version (kareman/SwiftShell@99680b2efc7c7dbcace1da0b3979d266f02e213c) in third_party/repositories.bzl).

hewigovens commented 4 years ago

@TimNN thanks for the reminder (I did try SwiftShell 5.0.1), I have created one pr: https://github.com/pinterest/xchammer/pull/261