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-11874] Struct with stored var of type () causes compiler crash #54289

Closed
swift-ci opened this issue Nov 29, 2019 · 4 comments
Closed

[SR-11874] Struct with stored var of type () causes compiler crash #54289

swift-ci opened this issue Nov 29, 2019 · 4 comments
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler in itself

Comments

@swift-ci
Copy link
Collaborator

Previous ID SR-11874
Radar rdar://problem/57549596
Original Reporter broadway_lamb (JIRA User)
Type Bug
Status Resolved
Resolution Done
Environment

Apple Swift version 5.1.2 (swiftlang-1100.0.278 clang-1100.0.33.9)
Target: x86_64-apple-darwin19.0.0

Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug
Assignee None
Priority Medium

md5: 3638d75ee735abc684ef6333b0f14907

Issue Description:

struct S {
    var wat: ()
}

Attempt to compile this code causes segmentation fault. Replacing var with let OR replacing () with Void OR making the property computed makes the crash go away.

Stack dump:
0.  Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -c -primary-file /Users/sergej/Developer/CombineExploration/CombineExploration/main.swift /Users/sergej/Developer/CombineExploration/CombineExploration/CustomSubscription.swift /Users/sergej/Developer/CombineExploration/CombineExploration/CustomPublisher.swift -emit-module-path /Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/Objects-normal/x86_64/main~partial.swiftmodule -emit-module-doc-path /Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/Objects-normal/x86_64/main~partial.swiftdoc -serialize-diagnostics-path /Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/Objects-normal/x86_64/main.dia -emit-dependencies-path /Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/Objects-normal/x86_64/main.d -emit-reference-dependencies-path /Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/Objects-normal/x86_64/main.swiftdeps -target x86_64-apple-macos10.15 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.15.sdk -I /Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Products/Debug -F /Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Products/Debug -enable-testing -g -module-cache-path /Users/sergej/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 5 -enforce-exclusivity=checked -Onone -D DEBUG -serialize-debugging-options -Xcc -working-directory -Xcc /Users/sergej/Developer/CombineExploration -enable-anonymous-context-mangled-names -Xcc -I/Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/CombineExploration-generated-files.hmap -Xcc -I/Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/CombineExploration-own-target-headers.hmap -Xcc -I/Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/CombineExploration-all-target-headers.hmap -Xcc -iquote -Xcc /Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/CombineExploration-project-headers.hmap -Xcc -I/Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Products/Debug/include -Xcc -I/Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/DerivedSources-normal/x86_64 -Xcc -I/Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/DerivedSources/x86_64 -Xcc -I/Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/DerivedSources -Xcc -DDEBUG=1 -module-name CombineExploration -o /Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Build/Intermediates.noindex/CombineExploration.build/Debug/CombineExploration.build/Objects-normal/x86_64/main.o -index-store-path /Users/sergej/Library/Developer/Xcode/DerivedData/CombineExploration-demsvwpbjfoenlhjrwnroopqwsel/Index/DataStore -index-system-modules 
1.  While running pass #​0 SILModuleTransform "SerializeSILPass".
2.  While serializing 'wat' (at /Users/sergej/Developer/CombineExploration/CombineExploration/main.swift:25:8)
0  swift                    0x0000000107afda13 PrintStackTraceSignalHandler(void*) + 51
1  swift                    0x0000000107afd1e6 SignalHandler(int) + 358
2  libsystem_platform.dylib 0x00007fff64e6fb1d _sigtramp + 29
3  libsystem_platform.dylib 0x00007fb42071a1a0 _sigtramp + 3146426016
4  swift                    0x0000000104648841 swift::ParamDecl::getDefaultValueStringRepresentation(llvm::SmallVectorImpl<char>&) const + 1201
5  swift                    0x00000001043cf98a swift::serialization::Serializer::writeDecl(swift::Decl const*) + 5946
6  swift                    0x00000001043f542f swift::serialization::Serializer::writeAllDeclsAndTypes() + 62287
7  swift                    0x00000001044023f4 swift::serialization::Serializer::writeAST(llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, bool) + 5364
8  swift                    0x000000010440f330 swift::serialization::Serializer::writeToStream(llvm::raw_ostream&, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::SILModule const*, swift::SerializationOptions const&) + 6016
9  swift                    0x0000000104410c0b bool llvm::function_ref<bool (llvm::raw_pwrite_stream&)>::callback_fn<swift::serialize(llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::SerializationOptions const&, swift::SILModule const*)::$_8>(long, llvm::raw_pwrite_stream&) + 139
10 swift                    0x0000000103717729 swift::withOutputFile(swift::DiagnosticEngine&, llvm::StringRef, llvm::function_ref<bool (llvm::raw_pwrite_stream&)>) + 2569
11 swift                    0x0000000104410a67 swift::serialize(llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::SerializationOptions const&, swift::SILModule const*) + 311
12 swift                    0x00000001037531bb std::__1::__function::__func<performCompileStepsPostSILGen(swift::CompilerInstance&, swift::CompilerInvocation&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, bool, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, bool, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*)::$_12, std::__1::allocator<performCompileStepsPostSILGen(swift::CompilerInstance&, swift::CompilerInvocation&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, bool, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, bool, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*)::$_12>, void ()>::operator()() + 603
13 swift                    0x0000000103efac61 SerializeSILPass::run() + 49
14 swift                    0x0000000103df1129 swift::SILPassManager::execute() + 7305
15 swift                    0x0000000103a4dc0b swift::CompilerInstance::performSILProcessing(swift::SILModule*, swift::UnifiedStatsReporter*) + 1563
16 swift                    0x0000000103749375 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 33925
17 swift                    0x000000010373d6e4 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 6820
18 swift                    0x00000001036cabe3 main + 1219
19 libdyld.dylib            0x00007fff64c6e2e5 start + 1
20 libdyld.dylib            0x0000000000000049 start + 2604211557
error: Segmentation fault: 11 (in target 'CombineExploration' from project 'CombineExploration')
@beccadax
Copy link
Contributor

beccadax commented Dec 2, 2019

@swift-ci create

@theblixguy
Copy link
Collaborator

This doesn’t crash on master

@slavapestov
Copy link
Member

I'm adding a regression test.

@theblixguy
Copy link
Collaborator

Thanks!

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 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
Projects
None yet
Development

No branches or pull requests

4 participants