SwiftNIOExtras/swift-nio-irc

ARM: Compiler Crash when compiling NIOIRC in release mode

helje5 opened this issue · 2 comments

docker run --rm helje5/rpi-swift-dev:4.1.0 bash   -c "git clone -b nio/master https://github.com/NozeIO/swift-nio-irc.git && cd swift-nio-irc && swift build -c release"

gives

Compile CNIOLinux shim.c
Compile CNIOSHA1 c_nio_sha1.c
Compile CNIOAtomics src/c-atomics.c
Compile CNIODarwin shim.c
Compile CNIOZlib empty.c
Compile CNIOHTTPParser c_nio_http_parser.c
Compile Swift Module 'NIOPriorityQueue' (2 sources)
Compile Swift Module 'Eliza' (1 sources)
Compile Swift Module 'NIOConcurrencyHelpers' (2 sources)
Compile Swift Module 'NIO' (51 sources)
Compile Swift Module 'NIOFoundationCompat' (1 sources)
Compile Swift Module 'NIOHTTP1' (8 sources)
Compile Swift Module 'NIOIRC' (18 sources)
swift: /mnt/SWIFT/4.1_LAST/llvm/include/llvm/ADT/Optional.h:146: T &&llvm::Optional<swift::ProjectionKind>::operator*() && [T = swift::ProjectionKind]: Assertion `hasVal' failed.
Stack dump:
0.	Program arguments: /usr/bin/swift -frontend -c /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Helpers/ByteBufferExtras.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Helpers/Scandinavian.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/IRCChannelHandler.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/IRCCommandParser.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/IRCDispatcher.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/IRCMessageParser.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/IRCMessageTarget.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Model/IRCChannelMode.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Model/IRCChannelName.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Model/IRCCommand.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Model/IRCCommandCodes.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Model/IRCMessage.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Model/IRCMessageRecipient.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Model/IRCNickName.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Model/IRCServerName.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Model/IRCUserID.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Model/IRCUserInfo.swift /src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Model/IRCUserMode.swift -target armv7-unknown-linux-gnueabihf -disable-objc-interop -sdk / -I /src/.build/armv7-unknown-linux-gnueabihf/release -I /src/.build/checkouts/swift-nio.git--936998177/Sources/CNIOSHA1/include -I /src/.build/checkouts/swift-nio.git--936998177/Sources/CNIOAtomics/include -I /src/.build/checkouts/swift-nio.git--936998177/Sources/CNIODarwin/include -I /src/.build/checkouts/swift-nio.git--936998177/Sources/CNIOLinux/include -module-cache-path /src/.build/armv7-unknown-linux-gnueabihf/release/ModuleCache -swift-version 4 -O -D SWIFT_PACKAGE -Xcc -fmodule-map-file=/src/.build/armv7-unknown-linux-gnueabihf/release/CNIOSHA1.build/module.modulemap -Xcc -fmodule-map-file=/src/.build/armv7-unknown-linux-gnueabihf/release/CNIOAtomics.build/module.modulemap -Xcc -fmodule-map-file=/src/.build/armv7-unknown-linux-gnueabihf/release/CNIODarwin.build/module.modulemap -Xcc -fmodule-map-file=/src/.build/armv7-unknown-linux-gnueabihf/release/CNIOLinux.build/module.modulemap -Xcc -fmodule-map-file=/src/.build/checkouts/swift-nio-zlib-support.git-1092617176/module.modulemap -emit-module-doc-path /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.swiftdoc -parse-as-library -module-name NIOIRC -emit-module-path /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.swiftmodule -emit-dependencies-path /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/NIOIRC.d -num-threads 4 -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Helpers/ByteBufferExtras.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Helpers/Scandinavian.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/IRCChannelHandler.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/IRCCommandParser.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/IRCDispatcher.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/IRCMessageParser.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/IRCMessageTarget.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Model/IRCChannelMode.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Model/IRCChannelName.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Model/IRCCommand.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Model/IRCCommandCodes.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Model/IRCMessage.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Model/IRCMessageRecipient.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Model/IRCNickName.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Model/IRCServerName.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Model/IRCUserID.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Model/IRCUserInfo.swift.o -o /src/.build/armv7-unknown-linux-gnueabihf/release/NIOIRC.build/Model/IRCUserMode.swift.o 
1.	While running pass #8728 SILFunctionTransform "Redundant Load Elimination" on SILFunction "@_T03NIO10ByteBufferV6NIOIRCE3setSix15integerAsString_Si2atxm2asts13SignedIntegerRzlFys09UnsafeRawC7PointerVcfU_".
 for expression at [/src/.build/checkouts/swift-nio-irc.git-982576079/Sources/NIOIRC/Helpers/ByteBufferExtras.swift:58:30 - line:78:5] RangeText="{ rbpp in
      let mrbpp  = UnsafeMutableRawBufferPointer(mutating: rbpp)
      let base   = mrbpp.baseAddress!.assumingMemoryBound(to: UInt8.self)
                        .advanced(by: index)
      var cursor = base.advanced(by: charCount)
      
      let c0 : T = 48
      var negativeAbsoluteValue = integer < 0 ? integer : -integer
      repeat {
        cursor -= 1
        cursor.pointee = UInt8(c0 - (negativeAbsoluteValue % 10))
        negativeAbsoluteValue /= 10;
      }
      while negativeAbsoluteValue != 0
      
      if integer < 0 {
        cursor -= 1
        cursor.pointee = 45 // -
      }

    }"
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal 6 (use -v to see invocation)
error: terminated(1): /usr/bin/swift-build-tool -f /src/.build/release.yaml main output:

Debug mode runs through.

Swift 4 thing, not relevant anymore.