When I use the latest master toolchain I get an Abort trap: 6 instead with better diagnostics
1. Apple Swift version 5.3-dev (LLVM 84c026a1b9, Swift 6bda828a7e)
2. While evaluating request ExecuteSILPipelineRequest(Run pipelines { Mandatory Combines, Serialization, Rest of Onone } on SIL for InterposeKit.InterposeKit)
3. While running pass #260 SILModuleTransform "SerializeSILPass".
4. While serializing type '@convention(c) (UnsafePointer\<objc_super>, Selector, va_list) -> Unmanaged\<AnyObject>'
5. While staging a serialized reference to PointerType 0x7fa26d0a02f0 'id *⭐(const struct objcsuper *, SEL *, struct \_va_list_tag)'
Attachment: Download
Environment
Version 11.5 (11E608c)Additional Detail from JIRA
| | | |------------------|-----------------| |Votes | 1 | |Component/s | Compiler | |Labels | Bug | |Assignee | None | |Priority | Medium | md5: 3110cbb9eac436970856de5ffb35f4c3Issue Description:
Compiling attached project causes error: Illegal instruction: 4 (in target 'InterposeKit' from project 'InterposeKit')
The changes that moved the project from compiling to triggering the crash are here:
https://github.com/steipete/InterposeKit/pull/15/commits/1fb6c6c7e78cf7b6ee2ca02d8c19405afb8199eb
When I use the latest master toolchain I get an Abort trap: 6 instead with better diagnostics
1. Apple Swift version 5.3-dev (LLVM 84c026a1b9, Swift 6bda828a7e)
2. While evaluating request ExecuteSILPipelineRequest(Run pipelines { Mandatory Combines, Serialization, Rest of Onone } on SIL for InterposeKit.InterposeKit)
3. While running pass #260 SILModuleTransform "SerializeSILPass".
4. While serializing type '@convention(c) (UnsafePointer\<objc_super>, Selector, va_list) -> Unmanaged\<AnyObject>'
5. While staging a serialized reference to PointerType 0x7fa26d0a02f0 'id *⭐(const struct objcsuper *, SEL *, struct \_va_list_tag)'
`-FunctionProtoType 0x7fa26d0a02b0 'id *(const struct objcsuper *, SEL *, struct \_va_list_tag)' cdecl
|-PointerType 0x7fa26d0a0250 'id *'
| `-ObjCObjectPointerType 0x7fa28e81b640 'id' imported
| `-ObjCObjectType 0x7fa28e81b610 'id' imported
|-PointerType 0x7fa26d0a0280 'const struct objc_super *'
| `-QualType 0x7fa26d09fc41 'const struct objc_super' const
| `-RecordType 0x7fa26d09fc40 'struct objc_super' imported
| `-Record 0x7fa26d09fba8 'objc_super'
|-PointerType 0x7fa28e81b570 'SEL *' imported
| `-BuiltinType 0x7fa28e81b400 'SEL'
`-RecordType 0x7fa28e85c4f0 'struct __va_list_tag' imported
0 swift 0x000000010adaaed8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1 swift 0x000000010adaa125 llvm::sys::RunSignalHandlers() + 85
2 swift 0x000000010adab4a6 SignalHandler(int) + 262
3 libsystem_platform.dylib 0x00007fff708ff5fd _sigtramp + 29
4 swift 0x000000010d5b3760 _dyld_private + 0
5 libsystem_c.dylib 0x00007fff707d5808 abort + 120
6 swift 0x0000000106c29697 swift::performFrontend(llvm::ArrayRef\<char const*>, char const*, void*, swift::FrontendObserver*)::$1::invoke(void*, std::1::basic_string\<char, std::1::char_traits\<char>, std::_1::allocator\<char> > const&, bool) + 711
7 swift 0x000000010ad1e2eb llvm::report_fatal_error(llvm::Twine const&, bool) + 251
8 swift 0x000000010ad1e1e2 llvm::report_fatal_error(char const*, bool) + 50
9 swift 0x000000010752e50e swift::serialization::Serializer::addClangTypeRef(clang::Type const*) + 238
10 swift 0x0000000107569584 swift::serialization::Serializer::TypeSerializer::visitFunctionType(swift::FunctionType const*) + 84
11 swift 0x0000000107536027 swift::serialization::Serializer::writeASTBlockEntity(swift::Type) + 263
12 swift 0x00000001075372b5 bool swift::serialization::Serializer::writeASTBlockEntitiesIfNeeded\<swift::serialization::Serializer::ASTBlockRecordKeeper\<swift::Type, llvm::PointerEmbeddedInt\<unsigned int, 31>, 1u> >(swift::serialization::Serializer::ASTBlockRecordKeeper\<swift::Type, llvm::PointerEmbeddedInt\<unsigned int, 31>, 1u>&) + 69
13 swift 0x000000010753715b swift::serialization::Serializer::writeAllDeclsAndTypes() + 2747
14 swift 0x0000000107538812 swift::serialization::Serializer::writeAST(llvm::PointerUnion\<swift::ModuleDecl*, swift::SourceFile*>) + 4146
15 swift 0x00000001075412e9 swift::serialization::Serializer::writeToStream(llvm::raw_ostream&, llvm::PointerUnion\<swift::ModuleDecl*, swift::SourceFile*>, swift::SILModule const*, swift::SerializationOptions const&) + 137
16 swift 0x000000010758c858 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*)::$_10>(long, llvm::raw_pwrite_stream&) + 88
17 swift 0x0000000106c35153 void llvm::function_ref\<void (llvm::raw_pwrite_stream&)>::callback_fn\<swift::withOutputFile(swift::DiagnosticEngine&, llvm::StringRef, llvm::function_ref\<bool (llvm::raw_pwrite_stream&)>)::'lambda'(llvm::raw_pwrite_stream&)>(long, llvm::raw_pwrite_stream&) + 19
18 swift 0x0000000107d46bf0 swift::atomicallyWritingToFile(llvm::StringRef, llvm::function_ref\<void (llvm::raw_pwrite_stream&)>) + 1504
19 swift 0x0000000106c35093 swift::withOutputFile(swift::DiagnosticEngine&, llvm::StringRef, llvm::function_ref\<bool (llvm::raw_pwrite_stream&)>) + 83
20 swift 0x0000000107541955 swift::serialize(llvm::PointerUnion\<swift::ModuleDecl*, swift::SourceFile*>, swift::SerializationOptions const&, swift::SILModule const*) + 213
21 swift 0x0000000106c363e3 std::_1::function::func\<performCompileStepsPostSILGen(swift::CompilerInstance&, std::1::unique_ptr\<swift::SILModule, std::_1::default_delete\<swift::SILModule> >, llvm::PointerUnion\<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*)::$14, std::1::allocator\<performCompileStepsPostSILGen(swift::CompilerInstance&, std::1::unique_ptr\<swift::SILModule, std::_1::default_delete\<swift::SILModule> >, llvm::PointerUnion\<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*)::$_14>, void ()>::operator()() + 115
22 swift 0x0000000107627b54 swift::SILModule::serialize() + 36
23 swift 0x00000001073c0824 SerializeSILPass::run() + 212
24 swift 0x0000000107289b3e swift::SILPassManager::runModulePass(unsigned int) + 558
25 swift 0x000000010728e2fa swift::SILPassManager::execute() + 666
26 swift 0x0000000107286b88 swift::SILPassManager::executePassPipelinePlan(swift::SILPassPipelinePlan const&) + 72
27 swift 0x0000000107286b23 swift::ExecuteSILPipelineRequest::evaluate(swift::Evaluator&, swift::SILPipelineExecutionDescriptor) const + 51
28 swift 0x000000010729decd swift::SimpleRequest\<swift::ExecuteSILPipelineRequest, std::__1::tuple\<> (swift::SILPipelineExecutionDescriptor), (swift::RequestFlags)1>::evaluateRequest(swift::ExecuteSILPipelineRequest const&, swift::Evaluator&) + 29
29 swift 0x000000010728ff39 llvm::Expected\<swift::ExecuteSILPipelineRequest::OutputType> swift::Evaluator::getResultUncached\<swift::ExecuteSILPipelineRequest>(swift::ExecuteSILPipelineRequest const&) + 473
30 swift 0x0000000107286cf4 swift::executePassPipelinePlan(swift::SILModule*, swift::SILPassPipelinePlan const&, bool, swift::irgen::IRGenModule*) + 68
31 swift 0x00000001072933b8 swift::runSILPassesForOnone(swift::SILModule&) + 72
32 swift 0x0000000106d02496 swift::CompilerInstance::performSILProcessing(swift::SILModule*) + 278
33 swift 0x0000000106c35670 performCompileStepsPostSILGen(swift::CompilerInstance&, std::_1::unique_ptr\<swift::SILModule, std::_1::default_delete\<swift::SILModule> >, llvm::PointerUnion\<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*) + 912
34 swift 0x0000000106c28eb5 performCompile(swift::CompilerInstance&, llvm::ArrayRef\<char const*>, int&, swift::FrontendObserver*) + 7285
35 swift 0x0000000106c2628d swift::performFrontend(llvm::ArrayRef\<char const*>, char const*, void*, swift::FrontendObserver*) + 3533
36 swift 0x0000000106bc2acd main + 861
37 libdyld.dylib 0x00007fff70706cc9 start + 1
error: Abort trap: 6 (in target 'InterposeKit' from project 'InterposeKit')