Skip to content

[SR-4766] swift: Assertion failed in emitEnumMatch in SILGenDecl.cpp #47343

@swift-ci

Description

@swift-ci
Previous ID SR-4766
Radar rdar://31976739
Original Reporter ob (JIRA User)
Type Bug
Status Resolved
Resolution Done
Environment
$ /Library/Developer/Toolchains/swift-3.1-DEVELOPMENT-SNAPSHOT-2017-03-27-a.xctoolchain/usr/bin/swift -version
Apple Swift version 3.1-dev (LLVM a7c680da51, Clang 9772bf511a, Swift cf5f914377)
Target: x86_64-apple-macosx10.9

Installed from swift.org binary snapshot.

Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug, CompilerCrash
Assignee @CodaFi
Priority Medium

md5: 6a31cd11c60e8286352de931f543a2af

relates to:

  • SR-3466 Matching simple enum case with enum case pattern with sub pattern should be diagnosed

Issue Description:

While compiling a large project, the compiler crashes like this:

Assertion failed: (subInit == nullptr && "Cannot have a subinit when there is no value to match against"), function emitEnumMatch, file /Users/buildnode/jenkins/workspace/oss-swift-3.1-package-osx/swift/lib/SILGen/SILGenDecl.cpp, line 707.
0  swift                    0x000000010b3df5a8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1  swift                    0x000000010b3de7c6 llvm::sys::RunSignalHandlers() + 86
2  swift                    0x000000010b3dfbf9 SignalHandler(int) + 361
3  libsystem_platform.dylib 0x00007fffa3eceb3a _sigtramp + 26
4  swift                    0x000000010905a935 bool llvm::DenseMapBase<llvm::DenseMap<swift::Lowering::TypeConverter::CachingTypeKey, swift::Lowering::TypeLowering const*, llvm::DenseMapInfo<swift::Lowering::TypeConverter::CachingTypeKey>, llvm::detail::DenseMapPair<swift::Lowering::TypeConverter::CachingTypeKey, swift::Lowering::TypeLowering const*> >, swift::Lowering::TypeConverter::CachingTypeKey, swift::Lowering::TypeLowering const*, llvm::DenseMapInfo<swift::Lowering::TypeConverter::CachingTypeKey>, llvm::detail::DenseMapPair<swift::Lowering::TypeConverter::CachingTypeKey, swift::Lowering::TypeLowering const*> >::LookupBucketFor<swift::Lowering::TypeConverter::CachingTypeKey>(swift::Lowering::TypeConverter::CachingTypeKey const&, llvm::detail::DenseMapPair<swift::Lowering::TypeConverter::CachingTypeKey, swift::Lowering::TypeLowering const*> const*&) const + 261
5  libsystem_c.dylib        0x00007fffa3d53420 abort + 129
6  libsystem_c.dylib        0x00007fffa3d1a893 basename_r + 0
7  swift                    0x0000000108c3af2b (anonymous namespace)::EnumElementPatternInitialization::emitEnumMatch(swift::Lowering::ManagedValue, swift::EnumElementDecl*, swift::Lowering::Initialization*, swift::Lowering::JumpDest, swift::SILLocation, swift::Lowering::SILGenFunction&) + 1211
8  swift                    0x0000000108c3b576 (anonymous namespace)::EnumElementPatternInitialization::copyOrInitValueInto(swift::Lowering::SILGenFunction&, swift::SILLocation, swift::Lowering::ManagedValue, bool) + 118
9  swift                    0x0000000108beaceb void copyOrInitValuesInto<((anonymous namespace)::ImplodeKind)1>(swift::Lowering::Initialization*, llvm::ArrayRef<swift::Lowering::ManagedValue>&, swift::CanType, swift::SILLocation, swift::Lowering::SILGenFunction&) + 667
10 swift                    0x0000000108beaa2a swift::Lowering::RValue::forwardInto(swift::Lowering::SILGenFunction&, swift::SILLocation, swift::Lowering::Initialization*) && + 90
11 swift                    0x0000000108c43ec4 swift::Lowering::SILGenFunction::emitExprInto(swift::Expr*, swift::Lowering::Initialization*) + 404
12 swift                    0x0000000108c34124 swift::Lowering::SILGenFunction::emitStmtCondition(llvm::MutableArrayRef<swift::StmtConditionElement>, swift::Lowering::JumpDest, swift::SILLocation) + 404
13 swift                    0x0000000108c9bba8 swift::ASTVisitor<(anonymous namespace)::StmtEmitter, void, void, void, void, void, void>::visit(swift::Stmt*) + 6072
14 swift                    0x0000000108c9a590 swift::ASTVisitor<(anonymous namespace)::StmtEmitter, void, void, void, void, void, void>::visit(swift::Stmt*) + 416
15 swift                    0x0000000108c9a3e5 swift::Lowering::SILGenFunction::emitStmt(swift::Stmt*) + 21
16 swift                    0x0000000108c5c434 swift::Lowering::SILGenFunction::emitFunction(swift::FuncDecl*) + 484
17 swift                    0x0000000108bfb516 swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*)::$_1::operator()(swift::SILFunction*) const + 214
18 swift                    0x0000000108bf1ef6 swift::Lowering::SILGenModule::emitFunction(swift::FuncDecl*) + 630
19 swift                    0x0000000108c9f96c (anonymous namespace)::SILGenType::emitType() + 940
20 swift                    0x0000000108c9f55d swift::Lowering::SILGenModule::visitNominalTypeDecl(swift::NominalTypeDecl*) + 29
21 swift                    0x0000000108bf805b swift::Lowering::SILGenModule::emitSourceFile(swift::SourceFile*, unsigned int) + 763
22 swift                    0x0000000108bf9055 swift::SILModule::constructSIL(swift::ModuleDecl*, swift::SILOptions&, swift::FileUnit*, llvm::Optional<unsigned int>, bool, bool) + 949
23 swift                    0x0000000108bf94e6 swift::performSILGeneration(swift::ModuleDecl*, swift::SILOptions&, bool, bool) + 38
24 swift                    0x00000001085a5bd7 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 7495
25 swift                    0x00000001085629d0 main + 3312
26 libdyld.dylib            0x00007fffa3cbf235 start + 1
Stack dump:
0.  Program arguments: /Library/Developer/Toolchains/swift-3.1-DEVELOPMENT-SNAPSHOT-2017-03-27-a.xctoolchain/usr/bin/swift -frontend -c -filelist /var/folders/b2/5s3n8vxx2wx22cm0x66dby1c000ncy/T/sources-e897dd -target x86_64-apple-ios9.0 -enable-objc-interop -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator10.3.sdk -I /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/VoyagerFeed -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/VoyagerFeed -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/AHEasing -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/ArtDeco -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/CocoaLumberjack -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/ConsistencyManager -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/DFlatJSONCache -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/EKGClient -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/FLAnimatedImage -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/FMDB -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/Hakawai -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/I18n -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LIAnnotationKit -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LIAuthLibrary -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LICookies -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LICrosslink -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LICrosspromo -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LIDelightUI -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LIPayments -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LIPerformance -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LIRealTime -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LISemaphoreLib -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LIToolbox -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LITrackingLib -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LIVideo -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LIVideoPlayer -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LayoutKit -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/LixLib -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/Networking -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/PIXImage -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/Rate -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/RestLiClientLib -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/RestliObjCData -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/RestliObjCDataPegasus -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/RestliObjCNetworking -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/RestliSwiftClient -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/RocketData -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/SDWebImage -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/Selene -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/ShakyLib -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/TLLayoutTransitioning -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/TermsOfService -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/Valet -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/VoyagerBase -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/VoyagerCore -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/VoyagerDataModel -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/VoyagerFeedCore -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/VoyagerFeedShell -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/VoyagerSettings -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/VoyagerShell -F /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/lmdb -enable-testing -g -import-underlying-module -module-cache-path /Users/obonilla/Library/Developer/Xcode/DerivedData/ModuleCache -warnings-as-errors -D DEBUG -D KIF_EXCEL -D COCOAPODS -D DEBUG -D KIF_EXCEL -serialize-debugging-options -disable-reflection-metadata -Xcc -I/Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/VoyagerFeed-generated-files.hmap -Xcc -I/Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/VoyagerFeed-own-target-headers.hmap -Xcc -I/Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/VoyagerFeed-all-non-framework-target-headers.hmap -Xcc -ivfsoverlay -Xcc /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/all-product-headers.yaml -Xcc -iquote -Xcc /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/VoyagerFeed-project-headers.hmap -Xcc -I/Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Products/Debug-iphonesimulator/VoyagerFeed/include -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Private -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Public -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Public/CrNet -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Public/Crashlytics -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Public/Fabric -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Public/GoogleInterchangeUtilities -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Public/GoogleNetworkingUtilities -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Public/GoogleSymbolUtilities -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Public/GoogleUtilities -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Public/HockeySDK -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Public/NearbyMessages -Xcc -I/Users/obonilla/r/voyager-ios_trunk/Pods/Headers/Public/Sourcery -Xcc -I/Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/DerivedSources/x86_64 -Xcc -I/Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/DerivedSources -Xcc -DPOD_CONFIGURATION_DEBUG=1 -Xcc -DDEBUG=1 -Xcc -DDEBUG=1 -Xcc -DKIF_EXCEL=1 -Xcc -DCOCOAPODS=1 -Xcc -DKIF_EXCEL=1 -Xcc -ivfsoverlay -Xcc /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/unextended-module-overlay.yaml -Xcc -working-directory/Users/obonilla/r/voyager-ios_trunk/Pods -emit-module-doc-path /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/Objects-normal/x86_64/VoyagerFeed.swiftdoc -serialize-diagnostics-path /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/Objects-normal/x86_64/AggregateUpdateCollectionProvider.dia -Onone -module-name VoyagerFeed -emit-module-path /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/Objects-normal/x86_64/VoyagerFeed.swiftmodule -emit-objc-header-path /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/Objects-normal/x86_64/VoyagerFeed-Swift.h -emit-dependencies-path /Users/obonilla/Library/Developer/Xcode/DerivedData/voyager-fazpazpxfzzbqygoyavlglnumsfq/Build/Intermediates/Pods.build/Debug-iphonesimulator/VoyagerFeed.build/Objects-normal/x86_64/AggregateUpdateCollectionProvider.d -num-threads 24 -output-filelist /var/folders/b2/5s3n8vxx2wx22cm0x66dby1c000ncy/T/outputs-7f7ada 
1.  While emitting SIL for 'shouldShowErrorForHighlightedUpdate' at /Users/obonilla/r/voyager-ios_trunk/VoyagerFeed/VoyagerFeed/Core/FeedUpdateCollectionProvider.swift:612:17

Metadata

Metadata

Assignees

Labels

bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.compilerThe Swift compiler itselfcrashBug: A crash, i.e., an abnormal termination of software

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions