Skip to content
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

[SR-5380] asking for #function but we don't have a function name?! #47954

Closed
swift-ci opened this issue Jul 5, 2017 · 4 comments
Closed

[SR-5380] asking for #function but we don't have a function name?! #47954

swift-ci opened this issue Jul 5, 2017 · 4 comments
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler in itself crash Bug: A crash, i.e., an abnormal termination of software good first issue Good for newcomers SILGen Area → compiler: The SIL generation stage

Comments

@swift-ci
Copy link
Collaborator

swift-ci commented Jul 5, 2017

Previous ID SR-5380
Radar None
Original Reporter tannernelson (JIRA User)
Type Bug
Status Resolved
Resolution Done
Environment

CircleCI Ubuntu Trusty

Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug, CompilerCrash, SILGen, StarterBug
Assignee zorm (JIRA)
Priority Medium

md5: 57654279727ad5e06e451b21fe215796

Issue Description:

This commit (https://github.com/vapor/vapor/pull/1078/commits/25f57f975ef06f79bfc50e9f722002bf9d40551b) created the following build errors on linux.

Compile Swift Module 'SessionsTests' (2 sources)
swift: /home/buildnode/disk2/workspace/oss-swift-3.1-package-linux-ubuntu-14_04/swift/lib/SILGen/SILGenApply.cpp:4642: llvm::StringRef getMagicFunctionString(swift::Lowering::SILGenFunction &): Assertion `gen.MagicFunctionName && "asking for #function but we don't have a function name?!"' failed.
0  swift           0x0000000003362778
1  swift           0x0000000003363316
2  libpthread.so.0 0x00007fbd24980330
3  libc.so.6       0x00007fbd2336bc37 gsignal + 55
4  libc.so.6       0x00007fbd2336f028 abort + 328
5  libc.so.6       0x00007fbd23364bf6
6  libc.so.6       0x00007fbd23364ca2
7  swift           0x0000000000b323bc
8  swift           0x0000000000adb30d
9  swift           0x0000000000ad530c
10 swift           0x0000000000b22e3c
11 swift           0x0000000000b3d663
12 swift           0x0000000000b41755
13 swift           0x0000000000b3ed26
14 swift           0x0000000000b3cd3a
15 swift           0x0000000000b3c54b
16 swift           0x0000000000b2e6dd
17 swift           0x0000000000b2cc4d
18 swift           0x0000000000ad6cf6
19 swift           0x0000000000ad16bd
20 swift           0x0000000000abfdaf
21 swift           0x0000000000aeff15
22 swift           0x0000000000aa0fe5
23 swift           0x0000000000aef850
24 swift           0x0000000000b21072
25 swift           0x0000000000b20e8d
26 swift           0x0000000000aa371b
27 swift           0x0000000000aa4532
28 swift           0x0000000000aa4aa6
29 swift           0x0000000000477c27
30 swift           0x000000000043bbe4
31 libc.so.6       0x00007fbd23356f45 __libc_start_main + 245
32 swift           0x00000000004395a0
Stack dump:
0.  Program arguments: /usr/bin/swift -frontend -c /home/ubuntu/vapor/Sources/Vapor/CORS/CORSConfiguration.swift /home/ubuntu/vapor/Sources/Vapor/CORS/CORSMiddleware.swift /home/ubuntu/vapor/Sources/Vapor/Cache/Config+Cache.swift /home/ubuntu/vapor/Sources/Vapor/Cipher/CipherProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Cipher/Config+Cipher.swift /home/ubuntu/vapor/Sources/Vapor/Cipher/CryptoCipher.swift /home/ubuntu/vapor/Sources/Vapor/Cipher/CryptoEncoding.swift /home/ubuntu/vapor/Sources/Vapor/Commands/Config+Command.swift /home/ubuntu/vapor/Sources/Vapor/Commands/Config+Console.swift /home/ubuntu/vapor/Sources/Vapor/Commands/DumpConfig.swift /home/ubuntu/vapor/Sources/Vapor/Commands/Vapor+Console.swift /home/ubuntu/vapor/Sources/Vapor/Commands/Version.swift /home/ubuntu/vapor/Sources/Vapor/Config/Configurable.swift /home/ubuntu/vapor/Sources/Vapor/Config/Directories.swift /home/ubuntu/vapor/Sources/Vapor/Config/Resolve.swift /home/ubuntu/vapor/Sources/Vapor/Content/Content.swift /home/ubuntu/vapor/Sources/Vapor/Content/MediaType.swift /home/ubuntu/vapor/Sources/Vapor/Content/Request+Content.swift /home/ubuntu/vapor/Sources/Vapor/Content/Response+Content.swift /home/ubuntu/vapor/Sources/Vapor/Date/DateMiddleware.swift /home/ubuntu/vapor/Sources/Vapor/Droplet/Droplet+Responder.swift /home/ubuntu/vapor/Sources/Vapor/Droplet/Droplet+Run.swift /home/ubuntu/vapor/Sources/Vapor/Droplet/Droplet.swift /home/ubuntu/vapor/Sources/Vapor/Engine/SecurityLayer.swift -primary-file /home/ubuntu/vapor/Sources/Vapor/Error/Abort.swift /home/ubuntu/vapor/Sources/Vapor/Error/AbortError.swift /home/ubuntu/vapor/Sources/Vapor/Error/ErrorMiddleware.swift /home/ubuntu/vapor/Sources/Vapor/Error/ErrorView.swift /home/ubuntu/vapor/Sources/Vapor/Event/Event.swift /home/ubuntu/vapor/Sources/Vapor/Event/Subscription.swift /home/ubuntu/vapor/Sources/Vapor/File/File+Response.swift /home/ubuntu/vapor/Sources/Vapor/File/FileManager.swift /home/ubuntu/vapor/Sources/Vapor/File/FileMiddleware.swift /home/ubuntu/vapor/Sources/Vapor/FormURLEncoded/Request+FormURLEncoded.swift /home/ubuntu/vapor/Sources/Vapor/FormURLEncoded/StructuredData+FormURLEncoded.swift /home/ubuntu/vapor/Sources/Vapor/HTTP/Accept.swift /home/ubuntu/vapor/Sources/Vapor/HTTP/AcceptLanguage.swift /home/ubuntu/vapor/Sources/Vapor/HTTP/HTTP+Node.swift /home/ubuntu/vapor/Sources/Vapor/HTTP/RequestInitializable.swift /home/ubuntu/vapor/Sources/Vapor/Hash/BCryptHasher.swift /home/ubuntu/vapor/Sources/Vapor/Hash/Config+Hash.swift /home/ubuntu/vapor/Sources/Vapor/Hash/CryptoHasher.swift /home/ubuntu/vapor/Sources/Vapor/Hash/HashProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Hash/Int+Random.swift /home/ubuntu/vapor/Sources/Vapor/JSON/JSON.swift /home/ubuntu/vapor/Sources/Vapor/JSON/JSONRepresentable.swift /home/ubuntu/vapor/Sources/Vapor/Log/Config+Log.swift /home/ubuntu/vapor/Sources/Vapor/Log/ConsoleLogger.swift /home/ubuntu/vapor/Sources/Vapor/Log/Log+Convenience.swift /home/ubuntu/vapor/Sources/Vapor/Log/LogLevel.swift /home/ubuntu/vapor/Sources/Vapor/Log/LogProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Mail/Config+Mail.swift /home/ubuntu/vapor/Sources/Vapor/Mail/Mail.swift /home/ubuntu/vapor/Sources/Vapor/Mail/Mailgun.swift /home/ubuntu/vapor/Sources/Vapor/Middleware/Chaining.swift /home/ubuntu/vapor/Sources/Vapor/Middleware/Config+Middleware.swift /home/ubuntu/vapor/Sources/Vapor/Multipart/FormData+Polymorphic.swift /home/ubuntu/vapor/Sources/Vapor/Multipart/Request+FormData.swift /home/ubuntu/vapor/Sources/Vapor/Multipart/Request+Multipart.swift /home/ubuntu/vapor/Sources/Vapor/Provider/Config+Provider.swift /home/ubuntu/vapor/Sources/Vapor/Provider/Provider+Resources.swift /home/ubuntu/vapor/Sources/Vapor/Provider/Provider.swift /home/ubuntu/vapor/Sources/Vapor/Provider/ProviderInstall.swift /home/ubuntu/vapor/Sources/Vapor/Routing/Droplet+Routing.swift /home/ubuntu/vapor/Sources/Vapor/Routing/Resource.swift /home/ubuntu/vapor/Sources/Vapor/Routing/RouteCollection.swift /home/ubuntu/vapor/Sources/Vapor/Routing/RoutesLog.swift /home/ubuntu/vapor/Sources/Vapor/Serve/Config+ServerConfig.swift /home/ubuntu/vapor/Sources/Vapor/Serve/Serve.swift /home/ubuntu/vapor/Sources/Vapor/Serve/ServerConfig.swift /home/ubuntu/vapor/Sources/Vapor/Sessions/Config+Sessions.swift /home/ubuntu/vapor/Sources/Vapor/Utilities/Bytes.swift /home/ubuntu/vapor/Sources/Vapor/Utilities/Exports.swift /home/ubuntu/vapor/Sources/Vapor/Utilities/InitProtocols.swift /home/ubuntu/vapor/Sources/Vapor/Utilities/StringInitializable.swift /home/ubuntu/vapor/Sources/Vapor/View/Config+View.swift /home/ubuntu/vapor/Sources/Vapor/View/StaticViewRenderer.swift /home/ubuntu/vapor/Sources/Vapor/View/View.swift /home/ubuntu/vapor/Sources/Vapor/View/ViewData.swift /home/ubuntu/vapor/Sources/Vapor/View/ViewRenderer+Request.swift /home/ubuntu/vapor/Sources/Vapor/View/ViewRenderer.swift /home/ubuntu/vapor/Sources/Vapor/WebSockets/WebSockets.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/ClientFactory.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/ClientFactoryProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/ClientProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/Config+ClientFactory.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/EngineClient.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/FoundationClient.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/Responder+Helpers.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Server/Config+ServerFactory.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Server/EngineServer.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Server/ServerFactory.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Server/ServerFactoryProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Server/ServerProtocol.swift /home/ubuntu/vapor/Sources/Vapor/JSON/HTTP/Body+JSON.swift /home/ubuntu/vapor/Sources/Vapor/JSON/HTTP/Message+JSON.swift /home/ubuntu/vapor/Sources/Vapor/JSON/HTTP/Response+JSON.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -I /home/ubuntu/vapor/.build/debug -I /home/ubuntu/vapor/.build/checkouts/engine.git--4067169637484775192/Sources/CHTTP/include -enable-testing -g -module-cache-path /home/ubuntu/vapor/.build/debug/ModuleCache -D SWIFT_PACKAGE -Xcc -fmodule-map-file=/home/ubuntu/vapor/.build/checkouts/ctls.git--2759852274749497999/module.modulemap -Xcc -fmodule-map-file=/home/ubuntu/vapor/.build/debug/CHTTP.build/module.modulemap -emit-module-doc-path /home/ubuntu/vapor/.build/debug/Vapor.build/Abort~partial.swiftdoc -Onone -parse-as-library -module-name Vapor -emit-module-path /home/ubuntu/vapor/.build/debug/Vapor.build/Abort~partial.swiftmodule -emit-dependencies-path /home/ubuntu/vapor/.build/debug/Vapor.build/Abort.d -emit-reference-dependencies-path /home/ubuntu/vapor/.build/debug/Vapor.build/Abort.swiftdeps -num-threads 8 -o /home/ubuntu/vapor/.build/debug/Vapor.build/Error/Abort.swift.o 
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
<unknown>:0: error: build had 1 command failures
error: exit(1): /usr/bin/swift-build-tool -f /home/ubuntu/vapor/.build/debug.yaml test

swift test returned exit code 1

swift: /home/buildnode/disk2/workspace/oss-swift-3.1-package-linux-ubuntu-14_04/swift/lib/SILGen/SILGenApply.cpp:4642: llvm::StringRef getMagicFunctionString(swift::Lowering::SILGenFunction &): Assertion `gen.MagicFunctionName && "asking for #function but we don't have a function name?!"' failed.
0  swift           0x0000000003362778
1  swift           0x0000000003363316
2  libpthread.so.0 0x00007fb838649330
3  libc.so.6       0x00007fb837034c37 gsignal + 55
4  libc.so.6       0x00007fb837038028 abort + 328
5  libc.so.6       0x00007fb83702dbf6
6  libc.so.6       0x00007fb83702dca2
7  swift           0x0000000000b323bc
8  swift           0x0000000000adb30d
9  swift           0x0000000000ad530c
10 swift           0x0000000000b22e3c
11 swift           0x0000000000b3d663
12 swift           0x0000000000b41755
13 swift           0x0000000000b3ed26
14 swift           0x0000000000b3cd3a
15 swift           0x0000000000b3c54b
16 swift           0x0000000000b2e6dd
17 swift           0x0000000000b2cc4d
18 swift           0x0000000000ad6cf6
19 swift           0x0000000000ad16bd
20 swift           0x0000000000abfdaf
21 swift           0x0000000000aeff15
22 swift           0x0000000000aa0fe5
23 swift           0x0000000000aef850
24 swift           0x0000000000b21072
25 swift           0x0000000000b20e8d
26 swift           0x0000000000aa371b
27 swift           0x0000000000aa44e6
28 swift           0x0000000000aa4a24
29 swift           0x00000000004778ad
30 swift           0x000000000043bbe4
31 libc.so.6       0x00007fb83701ff45 __libc_start_main + 245
32 swift           0x00000000004395a0
Stack dump:
0.  Program arguments: /usr/bin/swift -frontend -c /home/ubuntu/vapor/Sources/Vapor/CORS/CORSConfiguration.swift /home/ubuntu/vapor/Sources/Vapor/CORS/CORSMiddleware.swift /home/ubuntu/vapor/Sources/Vapor/Cache/Config+Cache.swift /home/ubuntu/vapor/Sources/Vapor/Cipher/CipherProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Cipher/Config+Cipher.swift /home/ubuntu/vapor/Sources/Vapor/Cipher/CryptoCipher.swift /home/ubuntu/vapor/Sources/Vapor/Cipher/CryptoEncoding.swift /home/ubuntu/vapor/Sources/Vapor/Commands/Config+Command.swift /home/ubuntu/vapor/Sources/Vapor/Commands/Config+Console.swift /home/ubuntu/vapor/Sources/Vapor/Commands/DumpConfig.swift /home/ubuntu/vapor/Sources/Vapor/Commands/Vapor+Console.swift /home/ubuntu/vapor/Sources/Vapor/Commands/Version.swift /home/ubuntu/vapor/Sources/Vapor/Config/Configurable.swift /home/ubuntu/vapor/Sources/Vapor/Config/Directories.swift /home/ubuntu/vapor/Sources/Vapor/Config/Resolve.swift /home/ubuntu/vapor/Sources/Vapor/Content/Content.swift /home/ubuntu/vapor/Sources/Vapor/Content/MediaType.swift /home/ubuntu/vapor/Sources/Vapor/Content/Request+Content.swift /home/ubuntu/vapor/Sources/Vapor/Content/Response+Content.swift /home/ubuntu/vapor/Sources/Vapor/Date/DateMiddleware.swift /home/ubuntu/vapor/Sources/Vapor/Droplet/Droplet+Responder.swift /home/ubuntu/vapor/Sources/Vapor/Droplet/Droplet+Run.swift /home/ubuntu/vapor/Sources/Vapor/Droplet/Droplet.swift /home/ubuntu/vapor/Sources/Vapor/Engine/SecurityLayer.swift /home/ubuntu/vapor/Sources/Vapor/Error/Abort.swift /home/ubuntu/vapor/Sources/Vapor/Error/AbortError.swift /home/ubuntu/vapor/Sources/Vapor/Error/ErrorMiddleware.swift /home/ubuntu/vapor/Sources/Vapor/Error/ErrorView.swift /home/ubuntu/vapor/Sources/Vapor/Event/Event.swift /home/ubuntu/vapor/Sources/Vapor/Event/Subscription.swift /home/ubuntu/vapor/Sources/Vapor/File/File+Response.swift /home/ubuntu/vapor/Sources/Vapor/File/FileManager.swift /home/ubuntu/vapor/Sources/Vapor/File/FileMiddleware.swift /home/ubuntu/vapor/Sources/Vapor/FormURLEncoded/Request+FormURLEncoded.swift /home/ubuntu/vapor/Sources/Vapor/FormURLEncoded/StructuredData+FormURLEncoded.swift /home/ubuntu/vapor/Sources/Vapor/HTTP/Accept.swift /home/ubuntu/vapor/Sources/Vapor/HTTP/AcceptLanguage.swift /home/ubuntu/vapor/Sources/Vapor/HTTP/HTTP+Node.swift /home/ubuntu/vapor/Sources/Vapor/HTTP/RequestInitializable.swift /home/ubuntu/vapor/Sources/Vapor/Hash/BCryptHasher.swift /home/ubuntu/vapor/Sources/Vapor/Hash/Config+Hash.swift /home/ubuntu/vapor/Sources/Vapor/Hash/CryptoHasher.swift /home/ubuntu/vapor/Sources/Vapor/Hash/HashProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Hash/Int+Random.swift /home/ubuntu/vapor/Sources/Vapor/JSON/JSON.swift /home/ubuntu/vapor/Sources/Vapor/JSON/JSONRepresentable.swift /home/ubuntu/vapor/Sources/Vapor/Log/Config+Log.swift /home/ubuntu/vapor/Sources/Vapor/Log/ConsoleLogger.swift /home/ubuntu/vapor/Sources/Vapor/Log/Log+Convenience.swift /home/ubuntu/vapor/Sources/Vapor/Log/LogLevel.swift /home/ubuntu/vapor/Sources/Vapor/Log/LogProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Mail/Config+Mail.swift /home/ubuntu/vapor/Sources/Vapor/Mail/Mail.swift /home/ubuntu/vapor/Sources/Vapor/Mail/Mailgun.swift /home/ubuntu/vapor/Sources/Vapor/Middleware/Chaining.swift /home/ubuntu/vapor/Sources/Vapor/Middleware/Config+Middleware.swift /home/ubuntu/vapor/Sources/Vapor/Multipart/FormData+Polymorphic.swift /home/ubuntu/vapor/Sources/Vapor/Multipart/Request+FormData.swift /home/ubuntu/vapor/Sources/Vapor/Multipart/Request+Multipart.swift /home/ubuntu/vapor/Sources/Vapor/Provider/Config+Provider.swift /home/ubuntu/vapor/Sources/Vapor/Provider/Provider+Resources.swift /home/ubuntu/vapor/Sources/Vapor/Provider/Provider.swift /home/ubuntu/vapor/Sources/Vapor/Provider/ProviderInstall.swift /home/ubuntu/vapor/Sources/Vapor/Routing/Droplet+Routing.swift /home/ubuntu/vapor/Sources/Vapor/Routing/Resource.swift /home/ubuntu/vapor/Sources/Vapor/Routing/RouteCollection.swift /home/ubuntu/vapor/Sources/Vapor/Routing/RoutesLog.swift /home/ubuntu/vapor/Sources/Vapor/Serve/Config+ServerConfig.swift /home/ubuntu/vapor/Sources/Vapor/Serve/Serve.swift /home/ubuntu/vapor/Sources/Vapor/Serve/ServerConfig.swift /home/ubuntu/vapor/Sources/Vapor/Sessions/Config+Sessions.swift /home/ubuntu/vapor/Sources/Vapor/Utilities/Bytes.swift /home/ubuntu/vapor/Sources/Vapor/Utilities/Exports.swift /home/ubuntu/vapor/Sources/Vapor/Utilities/InitProtocols.swift /home/ubuntu/vapor/Sources/Vapor/Utilities/StringInitializable.swift /home/ubuntu/vapor/Sources/Vapor/View/Config+View.swift /home/ubuntu/vapor/Sources/Vapor/View/StaticViewRenderer.swift /home/ubuntu/vapor/Sources/Vapor/View/View.swift /home/ubuntu/vapor/Sources/Vapor/View/ViewData.swift /home/ubuntu/vapor/Sources/Vapor/View/ViewRenderer+Request.swift /home/ubuntu/vapor/Sources/Vapor/View/ViewRenderer.swift /home/ubuntu/vapor/Sources/Vapor/WebSockets/WebSockets.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/ClientFactory.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/ClientFactoryProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/ClientProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/Config+ClientFactory.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/EngineClient.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/FoundationClient.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Client/Responder+Helpers.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Server/Config+ServerFactory.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Server/EngineServer.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Server/ServerFactory.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Server/ServerFactoryProtocol.swift /home/ubuntu/vapor/Sources/Vapor/Engine/Server/ServerProtocol.swift /home/ubuntu/vapor/Sources/Vapor/JSON/HTTP/Body+JSON.swift /home/ubuntu/vapor/Sources/Vapor/JSON/HTTP/Message+JSON.swift /home/ubuntu/vapor/Sources/Vapor/JSON/HTTP/Response+JSON.swift -target x86_64-unknown-linux-gnu -disable-objc-interop -I /home/ubuntu/vapor/.build/release -I /home/ubuntu/vapor/.build/checkouts/engine.git--4067169637484775192/Sources/CHTTP/include -module-cache-path /home/ubuntu/vapor/.build/release/ModuleCache -D SWIFT_PACKAGE -Xcc -fmodule-map-file=/home/ubuntu/vapor/.build/checkouts/ctls.git--2759852274749497999/module.modulemap -Xcc -fmodule-map-file=/home/ubuntu/vapor/.build/release/CHTTP.build/module.modulemap -emit-module-doc-path /home/ubuntu/vapor/.build/release/Vapor.swiftdoc -O -parse-as-library -module-name Vapor -emit-module-path /home/ubuntu/vapor/.build/release/Vapor.swiftmodule -emit-dependencies-path /home/ubuntu/vapor/.build/release/Vapor.build/Vapor.d -num-threads 8 -o /home/ubuntu/vapor/.build/release/Vapor.build/CORS/CORSConfiguration.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/CORS/CORSMiddleware.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Cache/Config+Cache.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Cipher/CipherProtocol.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Cipher/Config+Cipher.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Cipher/CryptoCipher.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Cipher/CryptoEncoding.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Commands/Config+Command.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Commands/Config+Console.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Commands/DumpConfig.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Commands/Vapor+Console.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Commands/Version.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Config/Configurable.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Config/Directories.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Config/Resolve.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Content/Content.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Content/MediaType.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Content/Request+Content.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Content/Response+Content.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Date/DateMiddleware.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Droplet/Droplet+Responder.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Droplet/Droplet+Run.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Droplet/Droplet.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/SecurityLayer.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Error/Abort.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Error/AbortError.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Error/ErrorMiddleware.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Error/ErrorView.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Event/Event.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Event/Subscription.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/File/File+Response.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/File/FileManager.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/File/FileMiddleware.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/FormURLEncoded/Request+FormURLEncoded.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/FormURLEncoded/StructuredData+FormURLEncoded.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/HTTP/Accept.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/HTTP/AcceptLanguage.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/HTTP/HTTP+Node.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/HTTP/RequestInitializable.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Hash/BCryptHasher.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Hash/Config+Hash.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Hash/CryptoHasher.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Hash/HashProtocol.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Hash/Int+Random.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/JSON/JSON.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/JSON/JSONRepresentable.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Log/Config+Log.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Log/ConsoleLogger.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Log/Log+Convenience.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Log/LogLevel.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Log/LogProtocol.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Mail/Config+Mail.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Mail/Mail.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Mail/Mailgun.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Middleware/Chaining.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Middleware/Config+Middleware.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Multipart/FormData+Polymorphic.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Multipart/Request+FormData.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Multipart/Request+Multipart.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Provider/Config+Provider.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Provider/Provider+Resources.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Provider/Provider.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Provider/ProviderInstall.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Routing/Droplet+Routing.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Routing/Resource.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Routing/RouteCollection.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Routing/RoutesLog.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Serve/Config+ServerConfig.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Serve/Serve.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Serve/ServerConfig.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Sessions/Config+Sessions.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Utilities/Bytes.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Utilities/Exports.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Utilities/InitProtocols.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Utilities/StringInitializable.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/View/Config+View.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/View/StaticViewRenderer.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/View/View.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/View/ViewData.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/View/ViewRenderer+Request.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/View/ViewRenderer.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/WebSockets/WebSockets.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Client/ClientFactory.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Client/ClientFactoryProtocol.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Client/ClientProtocol.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Client/Config+ClientFactory.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Client/EngineClient.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Client/FoundationClient.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Client/Responder+Helpers.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Server/Config+ServerFactory.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Server/EngineServer.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Server/ServerFactory.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Server/ServerFactoryProtocol.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/Engine/Server/ServerProtocol.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/JSON/HTTP/Body+JSON.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/JSON/HTTP/Message+JSON.swift.o -o /home/ubuntu/vapor/.build/release/Vapor.build/JSON/HTTP/Response+JSON.swift.o 
<unknown>:0: error: unable to execute command: Aborted
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
<unknown>:0: error: build had 1 command failures
error: exit(1): /usr/bin/swift-build-tool -f /home/ubuntu/vapor/.build/release.yaml

swift build -c release returned exit code 1
@huonw
Copy link
Mannequin

huonw mannequin commented Jul 5, 2017

I believe this is caused by the convenience public static lets, since there's no function for the #function to pick up and the compiler doesn't handle that correctly.

struct Foo {
    init(x: String = #function) {
        print(x)
    }
    static let x = Foo()
}

Assertion failed: (SGF.MagicFunctionName && "asking for #function but we don't have a function name?!"), function getMagicFunctionString, file /Users/huon/swift6/swift/lib/SILGen/SILGenApply.cpp, line 4633.
0  swift                    0x00000001097388ec llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 60
1  swift                    0x0000000109738ee9 PrintStackTraceSignalHandler(void*) + 25
2  swift                    0x00000001097346c9 llvm::sys::RunSignalHandlers() + 425
3  swift                    0x0000000109739382 SignalHandler(int) + 354
4  libsystem_platform.dylib 0x00007fff9a5e6b3a _sigtramp + 26
5  libsystem_platform.dylib 0x01007f8ab3895f20 _sigtramp + 422245376
6  libsystem_c.dylib        0x00007fff9a46b420 abort + 129
7  libsystem_c.dylib        0x00007fff9a432893 basename_r + 0
8  swift                    0x000000010348d38a getMagicFunctionString(swift::Lowering::SILGenFunction&) + 122
9  swift                    0x000000010348c345 swift::Lowering::SILGenFunction::emitLiteral(swift::LiteralExpr*, swift::Lowering::SGFContext) + 1045
10 swift                    0x0000000103538c2f (anonymous namespace)::RValueEmitter::visitMagicIdentifierLiteralExpr(swift::MagicIdentifierLiteralExpr*, swift::Lowering::SGFContext) + 303
11 swift                    0x0000000103532dcf swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 799
12 swift                    0x0000000103522e14 swift::Lowering::SILGenFunction::emitRValue(swift::Expr*, swift::Lowering::SGFContext) + 196
13 swift                    0x000000010352a963 swift::Lowering::SILGenFunction::emitRValueAsSingleValue(swift::Expr*, swift::Lowering::SGFContext) + 83
14 swift                    0x00000001034aa567 (anonymous namespace)::ArgEmitter::emitDirect(swift::Lowering::ArgumentSource&&, swift::SILType, swift::Lowering::AbstractionPattern, swift::SILParameterInfo) + 775
15 swift                    0x00000001034a8e7b (anonymous namespace)::ArgEmitter::emit(swift::Lowering::ArgumentSource&&, swift::Lowering::AbstractionPattern) + 1899
16 swift                    0x00000001034ade14 (anonymous namespace)::TupleShuffleArgEmitter::emitDefaultArgsAndFinalize((anonymous namespace)::ArgEmitter&) + 1636
17 swift                    0x00000001034ab11c (anonymous namespace)::TupleShuffleArgEmitter::emit((anonymous namespace)::ArgEmitter&) + 1388
18 swift                    0x00000001034aaad6 (anonymous namespace)::ArgEmitter::emitShuffle(swift::TupleShuffleExpr*, swift::Lowering::AbstractionPattern) + 678
19 swift                    0x00000001034a986f (anonymous namespace)::ArgEmitter::emitExpanded(swift::Lowering::ArgumentSource&&, swift::Lowering::AbstractionPattern) + 2159
20 swift                    0x00000001034a87c3 (anonymous namespace)::ArgEmitter::emit(swift::Lowering::ArgumentSource&&, swift::Lowering::AbstractionPattern) + 179
21 swift                    0x00000001034a7ed0 (anonymous namespace)::ArgEmitter::emitTopLevel(swift::Lowering::ArgumentSource&&, swift::Lowering::AbstractionPattern) + 128
22 swift                    0x00000001034a67bd (anonymous namespace)::CallSite::emit(swift::Lowering::SILGenFunction&, swift::Lowering::AbstractionPattern, (anonymous namespace)::ParamLowering&, llvm::SmallVectorImpl<swift::Lowering::ManagedValue>&, llvm::SmallVectorImpl<(anonymous namespace)::DelayedArgument>&, llvm::Optional<swift::ForeignErrorConvention> const&, swift::ImportAsMemberStatus const&) && + 669
23 swift                    0x00000001034a511b (anonymous namespace)::CallEmission::emitArgumentsForNormalApply(swift::CanTypeWrapper<swift::FunctionType>&, swift::Lowering::AbstractionPattern&, swift::CanTypeWrapper<swift::SILFunctionType>, llvm::Optional<swift::ForeignErrorConvention>&, swift::ImportAsMemberStatus&, swift::Lowering::ApplyOptions&, llvm::SmallVectorImpl<swift::Lowering::ManagedValue>&, llvm::Optional<swift::SILLocation>&, swift::CanTypeWrapper<swift::FunctionType>&) + 2059
24 swift                    0x00000001034a42da (anonymous namespace)::CallEmission::applyNormalCall(swift::CanTypeWrapper<swift::FunctionType>&, llvm::Optional<swift::ForeignErrorConvention>&, swift::ImportAsMemberStatus&, unsigned int, swift::Lowering::SGFContext) + 2810
25 swift                    0x00000001034a0c9b (anonymous namespace)::CallEmission::applyFirstLevelCallee(swift::CanTypeWrapper<swift::FunctionType>&, llvm::Optional<swift::ForeignErrorConvention>&, swift::ImportAsMemberStatus&, unsigned int, swift::Lowering::SGFContext) + 587
26 swift                    0x0000000103489281 (anonymous namespace)::CallEmission::apply(swift::Lowering::SGFContext) + 337
27 swift                    0x0000000103488a74 swift::Lowering::SILGenFunction::emitApplyExpr(swift::Expr*, swift::Lowering::SGFContext) + 132
28 swift                    0x000000010354b802 (anonymous namespace)::RValueEmitter::visitApplyExpr(swift::ApplyExpr*, swift::Lowering::SGFContext) + 66
29 swift                    0x000000010353e7ba swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visitCallExpr(swift::CallExpr*, swift::Lowering::SGFContext) + 74
30 swift                    0x00000001035338dc swift::ASTVisitor<(anonymous namespace)::RValueEmitter, swift::Lowering::RValue, void, void, void, void, void, swift::Lowering::SGFContext>::visit(swift::Expr*, swift::Lowering::SGFContext) + 3628
31 swift                    0x0000000103522e14 swift::Lowering::SILGenFunction::emitRValue(swift::Expr*, swift::Lowering::SGFContext) + 196
32 swift                    0x0000000103522c81 swift::Lowering::SILGenFunction::emitExprInto(swift::Expr*, swift::Lowering::Initialization*) + 289
33 swift                    0x00000001034f9b59 swift::Lowering::SILGenFunction::emitPatternBinding(swift::PatternBindingDecl*, unsigned int) + 457
34 swift                    0x00000001035671ee swift::Lowering::SILGenFunction::emitLazyGlobalInitializer(swift::PatternBindingDecl*, unsigned int) + 142
35 swift                    0x000000010345ef8a swift::Lowering::SILGenModule::emitLazyGlobalInitializer(llvm::StringRef, swift::PatternBindingDecl*, unsigned int) + 938
36 swift                    0x0000000103566e97 swift::Lowering::SILGenModule::emitGlobalInitialization(swift::PatternBindingDecl*, unsigned int) + 2167
37 swift                    0x00000001036183f6 (anonymous namespace)::SILGenType::visitPatternBindingDecl(swift::PatternBindingDecl*) + 118
38 swift                    0x000000010361797c swift::ASTVisitor<(anonymous namespace)::SILGenType, void, void, void, void, void, void>::visit(swift::Decl*) + 140
39 swift                    0x0000000103614b8e (anonymous namespace)::SILGenType::emitType() + 222
40 swift                    0x0000000103614a6d swift::Lowering::SILGenModule::visitNominalTypeDecl(swift::NominalTypeDecl*) + 45
41 swift                    0x0000000103484418 swift::ASTVisitor<swift::Lowering::SILGenModule, void, void, void, void, void, void>::visitStructDecl(swift::StructDecl*) + 40
42 swift                    0x0000000103461e54 swift::ASTVisitor<swift::Lowering::SILGenModule, void, void, void, void, void, void>::visit(swift::Decl*) + 452
43 swift                    0x0000000103461a07 swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*, unsigned int) + 263
44 swift                    0x00000001034625c0 swift::SILModule::constructSIL(swift::ModuleDecl*, swift::SILOptions&, swift::FileUnit*, llvm::Optional<unsigned int>, bool) + 1008
45 swift                    0x0000000103463478 swift::performSILGeneration(swift::FileUnit&, swift::SILOptions&, llvm::Optional<unsigned int>) + 104
46 swift                    0x000000010255dc18 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 10536
47 swift                    0x000000010255916a swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 9274
48 swift                    0x0000000102488769 main + 4809
49 libdyld.dylib            0x00007fff9a3d7235 start + 1

@gwynne
Copy link
Contributor

gwynne commented Oct 20, 2017

Any chance of getting an eye on this in the relatively near future?

@belkadan
Copy link
Contributor

It looks like SILGenFunction::emitLazyGlobalInitializer should be setting this->MagicFunctionName in the same way as SILGenFunction::emitFunction (and others). A reasonable simple implementation would just use the name of the enclosing DeclContext (which is what's supported already), rather than trying to figure out a name for this specific variable.

Tagging as a starter bug.

@swift-ci
Copy link
Collaborator Author

Comment by Zac Flamig (JIRA)

Fixed in #12578

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@AnthonyLatsis AnthonyLatsis added the crash Bug: A crash, i.e., an abnormal termination of software label Dec 12, 2022
This issue was closed.
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. compiler The Swift compiler in itself crash Bug: A crash, i.e., an abnormal termination of software good first issue Good for newcomers SILGen Area → compiler: The SIL generation stage
Projects
None yet
Development

No branches or pull requests

4 participants