Skip to content

Trunk linux snapshots are crashing when building a NIO test #69505

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
finagolfin opened this issue Oct 30, 2023 · 1 comment
Closed

Trunk linux snapshots are crashing when building a NIO test #69505

finagolfin opened this issue Oct 30, 2023 · 1 comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. triage needed This issue needs more specific labels

Comments

@finagolfin
Copy link
Member

Description
Starting with the Oct. 28 trunk snapshot, the NIO tests cause this compiler crash:

Building for debugging...
error: compile command failed due to signal 6 (use -v to see invocation)
swift-frontend: /home/build-user/swift/lib/SIL/IR/SILArgument.cpp:89: swift::SILArgumentConvention swift::SILFunctionConventions::getSILArgumentConvention(unsigned int) const: Assertion `index < getNumSILArguments()' failed.
Please submit a bug report (https://swift.org/contributing/#reporting-bugs) and include the crash backtrace.
Stack dump:
0.      Program arguments: /home/foo/swift-DEVELOPMENT-SNAPSHOT-2023-10-28-a-ubuntu20.04/usr/bin/swift-frontend -frontend -c -primary-file /home/foo/swift-nio/Tests/NIOBase64Tests/Base64Test.swift -emit-dependencies-path /home/foo/swift-nio/.build/x86_64-unknown-linux-gnu/debug/NIOBase64Tests.build/Base64Test.d -emit-reference-dependencies-path /home/foo/swift-nio/.build/x86_64-unknown-linux-gnu/debug/NIOBase64Tests.build/Base64Test.swiftdeps -target x86_64-unknown-linux-gnu -disable-objc-interop -I /home/foo/swift-nio/.build/x86_64-unknown-linux-gnu/debug -color-diagnostics -enable-testing -g -module-cache-path /home/foo/swift-nio/.build/x86_64-unknown-linux-gnu/debug/ModuleCache -swift-version 5 -Onone -D SWIFT_PACKAGE -D DEBUG -new-driver-path /home/foo/swift-DEVELOPMENT-SNAPSHOT-2023-10-28-a-ubuntu20.04/usr/bin/swift-driver -empty-abi-descriptor -resource-dir /home/foo/swift-DEVELOPMENT-SNAPSHOT-2023-10-28-a-ubuntu20.04/usr/lib/swift -enable-anonymous-context-mangled-names -Xcc -fPIC -Xcc -g -module-name NIOBase64Tests -plugin-path /home/foo/swift-DEVELOPMENT-SNAPSHOT-2023-10-28-a-ubuntu20.04/usr/lib/swift/host/plugins -plugin-path /home/foo/swift-DEVELOPMENT-SNAPSHOT-2023-10-28-a-ubuntu20.04/usr/local/lib/swift/host/plugins -parse-as-library -o /home/foo/swift-nio/.build/x86_64-unknown-linux-gnu/debug/NIOBase64Tests.build/Base64Test.swift.o -index-store-path /home/foo/swift-nio/.build/x86_64-unknown-linux-gnu/debug/index/store -index-system-modules
1.      Swift version 5.11-dev (LLVM 26ea15ae72ba6e9, Swift 7e4fa781ea27c47)
2.      Compiling with the current language version
3.      While evaluating request ASTLoweringRequest(Lowering AST to SIL for file "/home/foo/swift-nio/Tests/NIOBase64Tests/Base64Test.swift")
4.      While silgen emitFunction SIL function "@$s14NIOBase64Tests10Base64TestC04testC21DecodingOfEmptyStringyyKF".
 for 'testBase64DecodingOfEmptyString()' (at /home/foo/swift-nio/Tests/NIOBase64Tests/Base64Test.swift:31:5)
5.      While silgen closureexpr SIL function "@$s14NIOBase64Tests10Base64TestC04testC21DecodingOfEmptyStringyyKFyyKcyKXEfu_".
 for expression at [/home/foo/swift-nio/Tests/NIOBase64Tests/Base64Test.swift:33:26 - line:36:9] RangeText="{
            let decoded = try encoded.base64Decoded()
            XCTAssertEqual(decoded, [UInt8]())
        "
6.      While silgen closureexpr SIL function "@$s14NIOBase64Tests10Base64TestC04testC21DecodingOfEmptyStringyyKFyyKcyKXEfu_yyKcfU_".
 for expression at [/home/foo/swift-nio/Tests/NIOBase64Tests/Base64Test.swift:33:26 - line:36:9] RangeText="{
            let decoded = try encoded.base64Decoded()
            XCTAssertEqual(decoded, [UInt8]())
        "

This was first surfaced by my daily Android CI.

Steps to reproduce
../swift-DEVELOPMENT-SNAPSHOT-2023-10-28-a-ubuntu20.04/usr/bin/swift test

Expected behavior
All NIO tests to build and pass, as they do with the Oct. 27 trunk snapshot.

Environment

  • Swift 5.11 Oct. 28 trunk snapshot compiler for Ubuntu 20.04 and 22.04 x86_64

Additional context
It is reproducible with the latest Oct. 29 trunk snapshot also, so the problem hasn't gone away. @slavapestov, I see you made a bunch of SIL changes on that day, maybe you know what's going on.

@shahmishal, I notice you reported the same error with BricBrac in #69485 yesterday, could be related.

@finagolfin finagolfin added bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. triage needed This issue needs more specific labels labels Oct 30, 2023
@finagolfin
Copy link
Member Author

I can no longer reproduce from the Nov. 13 trunk snapshot onwards, appears to have been fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. triage needed This issue needs more specific labels
Projects
None yet
Development

No branches or pull requests

1 participant