Can someone give me a hint what this error message could potentially mean? Our project (in Swift 4.2 mode) does not compiler because of this issue:
---
2. While deserializing SIL function "$s3App18ImageControlCenterC12SettingsCellCfD"
3. While deserializing 'SettingsCell' (ClassDecl #1) in 'App'
4. While deserializing decl #108 (XREF) in 'App'
5. Cross-reference to module 'App'
... ImageControlCenter
... in an extension in module 'App'
... BaseCell
6. If you're seeing a crash here, try passing -Xfrontend -disable-serialization-nested-type-lookup-table
7. While loading extensions for 'ImageControlCenter' (in module 'App')
8. While reading from 'App'
9. While deserializing extension of 'ImageControlCenter' (ExtensionDecl #23) in 'App'
0 swift 0x000000010c384ee3 PrintStackTraceSignalHandler(void*) + 51
1 swift 0x000000010c3846bc SignalHandler(int) + 348
2 libsystem_platform.dylib 0x00007fff57dbab3d _sigtramp + 29
3 libsystem_platform.dylib 0x00007f9e201ed400 _sigtramp + 3359844576
4 libsystem_c.dylib 0x00007fff57c781c9 abort + 127
5 swift 0x0000000109504120 swift::ModuleFile::fatal(llvm::Error) + 1856
6 swift 0x0000000109511749 swift::ModuleFile::getDeclCheckedImpl(llvm::PointerEmbeddedInt<unsigned int, 31>) + 53689
7 swift 0x00000001095b2a09 swift::SerializedModuleLoaderBase::loadExtensions(swift::NominalTypeDecl*, unsigned int) + 2537
8 swift 0x000000010951aa9d swift::ModuleFile::resolveCrossReference(swift::ModuleDecl*, unsigned int) + 6493
9 swift 0x0000000109508c4f swift::ModuleFile::getDeclCheckedImpl(llvm::PointerEmbeddedInt<unsigned int, 31>) + 18111
10 swift 0x0000000109513809 swift::ModuleFile::getTypeChecked(llvm::PointerEmbeddedInt<unsigned int, 31>) + 4233
11 swift 0x000000010950cc6f swift::ModuleFile::getDeclCheckedImpl(llvm::PointerEmbeddedInt<unsigned int, 31>) + 34527
12 swift 0x0000000109513809 swift::ModuleFile::getTypeChecked(llvm::PointerEmbeddedInt<unsigned int, 31>) + 4233
13 swift 0x0000000109514f48 swift::ModuleFile::getTypeChecked(llvm::PointerEmbeddedInt<unsigned int, 31>) + 10184
14 swift 0x000000010952826f swift::SILDeserializer::readSILFunctionChecked(llvm::PointerEmbeddedInt<unsigned int, 31>, swift::SILFunction*, llvm::StringRef, bool, bool) + 575
15 swift 0x000000010953c525 swift::SILDeserializer::getAllSILFunctions() + 1349
16 swift 0x00000001095bea64 swift::SerializedSILLoader::getAllForModule(swift::Identifier, swift::FileUnit*) + 180
17 swift 0x00000001081e5c01 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 35921
18 swift 0x00000001081d96de swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 6862
19 swift 0x00000001081777be main + 1246
20 libdyld.dylib 0x00007fff57bcfed9 start + 1
error: Abort trap: 6
The hierarchy here looks like this:
final class ImageControlCenter: UIViewController {}
// other file
extension ImageControlCenter {
class BaseCell : UICollectionViewCell {}
}
// yet another file
extension ImageControlCenter {
final class SettingsCell : BaseCell {}
}
App is the name of the project module.
The project compiles just fine with the Swift 4.2.1 compiler.
If I change the hierarchy to:
final class ImageControlCenter: UIViewController {}
// other file
extension ImageControlCenter {
class BaseCell : UICollectionViewCell {}
}
// yet another file
extension ImageControlCenter {
typealias SettingCell = ImageControlCenterSettingsCell
}
final class ImageControlCenterSettingsCell : ImageControlCenter.BaseCell {}
The error changes to:
---
2. While deserializing SIL function "$s3App30ImageControlCenterSettingsCellC5coderACSgSo7NSCoderC_tcfC"
3. While deserializing 'ImageControlCenterSettingsCell' (ClassDecl #1) in 'App'
4. While deserializing decl #109 (XREF) in 'App'
5. Cross-reference to module 'App'
... ImageControlCenter
... in an extension in module 'App'
... BaseCell
6. If you're seeing a crash here, try passing -Xfrontend -disable-serialization-nested-type-lookup-table
7. While loading extensions for 'ImageControlCenter' (in module 'App')
8. While reading from 'App'
9. While deserializing extension of 'ImageControlCenter' (ExtensionDecl #23) in 'App'
0 swift 0x0000000112302ee3 PrintStackTraceSignalHandler(void*) + 51
1 swift 0x00000001123026bc SignalHandler(int) + 348
2 libsystem_platform.dylib 0x00007fff57dbab3d _sigtramp + 29
3 swift 0x0000000112cbf008 (anonymous namespace)::DarwinX86AsmBackend::getCompactUnwindRegNum(unsigned int) const::CU32BitRegs + 112258
4 libsystem_c.dylib 0x00007fff57c781c9 abort + 127
5 swift 0x000000010f482120 swift::ModuleFile::fatal(llvm::Error) + 1856
6 swift 0x000000010f48f749 swift::ModuleFile::getDeclCheckedImpl(llvm::PointerEmbeddedInt<unsigned int, 31>) + 53689
7 swift 0x000000010f530a09 swift::SerializedModuleLoaderBase::loadExtensions(swift::NominalTypeDecl*, unsigned int) + 2537
8 swift 0x000000010f498a9d swift::ModuleFile::resolveCrossReference(swift::ModuleDecl*, unsigned int) + 6493
9 swift 0x000000010f486c4f swift::ModuleFile::getDeclCheckedImpl(llvm::PointerEmbeddedInt<unsigned int, 31>) + 18111
10 swift 0x000000010f491809 swift::ModuleFile::getTypeChecked(llvm::PointerEmbeddedInt<unsigned int, 31>) + 4233
11 swift 0x000000010f48ac6f swift::ModuleFile::getDeclCheckedImpl(llvm::PointerEmbeddedInt<unsigned int, 31>) + 34527
12 swift 0x000000010f491809 swift::ModuleFile::getTypeChecked(llvm::PointerEmbeddedInt<unsigned int, 31>) + 4233
13 swift 0x000000010f491a26 swift::ModuleFile::getTypeChecked(llvm::PointerEmbeddedInt<unsigned int, 31>) + 4774
14 swift 0x000000010f492f48 swift::ModuleFile::getTypeChecked(llvm::PointerEmbeddedInt<unsigned int, 31>) + 10184
15 swift 0x000000010f4a626f swift::SILDeserializer::readSILFunctionChecked(llvm::PointerEmbeddedInt<unsigned int, 31>, swift::SILFunction*, llvm::StringRef, bool, bool) + 575
16 swift 0x000000010f4ba525 swift::SILDeserializer::getAllSILFunctions() + 1349
17 swift 0x000000010f53ca64 swift::SerializedSILLoader::getAllForModule(swift::Identifier, swift::FileUnit*) + 180
18 swift 0x000000010e163c01 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) + 35921
19 swift 0x000000010e1576de swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 6862
20 swift 0x000000010e0f57be main + 1246
21 libdyld.dylib 0x00007fff57bcfed9 start + 1
22 libdyld.dylib 0x0000000000000079 start + 2822963617
error: Abort trap: 6
The workaround it to move the BaseCell out of the extension and sub-class by the concrete type name instead of the type alias typealias BaseCell = ImageControlCenterBaseCell.
cc @Slava_Pestov could this be related to the work that was done related to SR-631?