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-14514] Abort trap: 6 #56866

Open
swift-ci opened this issue Apr 20, 2021 · 3 comments
Open

[SR-14514] Abort trap: 6 #56866

swift-ci opened this issue Apr 20, 2021 · 3 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-14514
Radar rdar://problem/76977327
Original Reporter vani2 (JIRA User)
Type Bug

Attachment: Download

Environment

macOS BugSur 11.2.3 (20D91), MacBook Pro (13-inch M1, 2020)

Xcode Version 12.4 (12D4e)

Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)
Target: arm64-apple-darwin20.3.0

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

md5: d26cff97322f966de55370664c0b8baa

Issue Description:

could not deserialize type for 'OnePointMapOrderRouter': top-level value not foundcould not deserialize type for 'OnePointMapOrderRouter': top-level value not foundCross-reference to module 'Abort_trap_example'... OnePointMapOrderViewController
Stack dump:0. Program arguments: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/swift -frontend -merge-modules -emit-module /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/Router~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/OnePointMapOrderRouter~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/TwoPointsMapOrderViewController~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/MapOrderBottomPanelView~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/TwoPointsMapOrderPresenter~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/ViewController~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/MapOrderPresenter~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/TypeAliases~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/AppDelegate~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/OnePointMapOrderPresenter~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/OnePointMapOrderInteractor~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/MapOrderViewController~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/OrderProfileInfo~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/MapOrderRouter~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/ContainerViewController~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/MapOrderInteractor~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/TwoPointsMapOrderInteractor~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/OnePointMapOrderViewController~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/SceneDelegate~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/OnePointMapOrder~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/TwoPointsMapOrderRouter~partial.swiftmodule /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/MapAddress~partial.swiftmodule -parse-as-library -sil-merge-partial-modules -disable-diagnostic-passes -disable-sil-perf-optzns -target arm64-apple-ios13.0 -Xllvm -aarch64-use-tbi -enable-objc-interop -stack-check -sdk /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS14.4.sdk -I /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Products/Debug-iphoneos -F /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Products/Debug-iphoneos -enable-testing -g -module-cache-path /Users/iv/Library/Developer/Xcode/DerivedData/ModuleCache.noindex -swift-version 5 -enforce-exclusivity=checked -Onone -D DEBUG -serialize-debugging-options -Xcc -working-directory -Xcc /Users/iv/Documents/Xcode/Abort trap example -enable-anonymous-context-mangled-names -Xcc -I/Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/swift-overrides.hmap -Xcc -iquote -Xcc /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Abort trap example-generated-files.hmap -Xcc -I/Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Abort trap example-own-target-headers.hmap -Xcc -I/Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Abort trap example-all-target-headers.hmap -Xcc -iquote -Xcc /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Abort trap example-project-headers.hmap -Xcc -I/Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Products/Debug-iphoneos/include -Xcc -I/Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/DerivedSources-normal/arm64 -Xcc -I/Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/DerivedSources/arm64 -Xcc -I/Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/DerivedSources -Xcc -DDEBUG=1 -target-sdk-version 14.4 -emit-module-doc-path /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/Abort_trap_example.swiftdoc -emit-module-source-info-path /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/Abort_trap_example.swiftsourceinfo -emit-objc-header-path /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/Abort_trap_example-Swift.h -module-name Abort_trap_example -o /Users/iv/Library/Developer/Xcode/DerivedData/Abort_trap_example-cjhcwexavxyoedfyutylnumkuscv/Build/Intermediates.noindex/Abort trap example.build/Debug-iphoneos/Abort trap example.build/Objects-normal/arm64/Abort_trap_example.swiftmodule 1. Apple Swift version 5.3.2 (swiftlang-1200.0.45 clang-1200.0.32.28)0  swift                    0x00000001087dfbf0 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 521  swift                    0x00000001087ded48 llvm::sys::RunSignalHandlers() + 1282  swift                    0x00000001087e01ac SignalHandler(int) + 1603  libsystem_platform.dylib 0x0000000191c4dc44 _sigtramp + 564  libsystem_pthread.dylib  0x0000000191c05c24 pthread_kill + 2925  libsystem_c.dylib        0x0000000191b4d864 abort + 1046  swift                    0x000000010555906c swift::ModuleFile::readParameterList() + 07  swift                    0x0000000105594754 swift::SILDeserializer::readVTable(llvm::PointerEmbeddedInt<unsigned int, 31>) + 21488  swift                    0x0000000105600bf4 swift::SILDeserializer::getAll(bool) + 929  swift                    0x0000000104e080d4 swift::CompilerInstance::performSILProcessing(swift::SILModule*) + 26810 swift                    0x0000000104d0bd28 performCompileStepsPostSILGen(swift::CompilerInstance&, swift::CompilerInvocation const&, std::__1::unique_ptr<swift::SILModule, std::__1::default_delete<swift::SILModule> >, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificPaths const&, int&, swift::FrontendObserver*) + 94411 swift                    0x0000000104cfdeb4 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 1849612 swift                    0x0000000104c948c0 main + 113213 libdyld.dylib            0x0000000191c21f34 start + 4error: Abort trap: 6 (in target 'Abort trap example' from project 'Abort trap example')

Changing compilation mode to whole module helps to get a successful build.

But later I discovered crashes at a start of my iOS app at iOS 12/13.

Anyway, IMO there are should be a descriptive error about what's wrong.

After some research, I found that happened because of the circular dependency between ViewController and Router, they both have generic to each other.

I attached a sample project where you can reproduce that error.

To remove the circular dependency you can change these two declarations

final class OnePointMapOrderRouter: Router<OnePointMapOrderViewController>, MapOrderRouter
final class TwoPointsMapOrderRouter: Router<TwoPointsMapOrderViewController>, MapOrderRouter

to these

final class OnePointMapOrderRouter: Router<ViewController>, MapOrderRouter
final class TwoPointsMapOrderRouter: Router<ViewController>, MapOrderRouter
@typesanitizer
Copy link

@swift-ci create

@xymus
Copy link
Contributor

xymus commented May 19, 2021

This is failing in the merge-module phase, we are moving away from relying on merge-module in incremental builds for issues like this one. Using the whole-module compilation mode is the best workaround currently available for compilers distributed with Xcode.

If you're interested to experiment with the open-source compiler, you can download a toolchain from https://swift.org/download/#snapshots and add the flag `-experimental-emit-module-separately` to the Other Swift Flag build settings of your project. This will turn on an alternative incremental build mode that is more parallelized and doesn't use the merge-module phase.

@swift-ci
Copy link
Collaborator Author

Comment by Ivan Vavilov (JIRA)

Yeah, I moved to the whole module for a while. But then I noticed crashes on iOS 12 and 13 on launch. So I changed my code a little bit, and that solved my problem.

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

3 participants