Open
Description
If you run Serialization/rdar29694978.swift
with the new driver it builds a PCH for %S/Inputs/rdar29694978.h
, which crashes the compiler when attempting to emit a diagnostic:
Command Output (stderr):
--
Assertion failed: (LineOffset+l > 0 && "bogus line offset"), function getPresumedLineAndColumnForLoc, file SourceManager.h, line 460.
PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ and include the crash backtrace.
Stack dump:
0. Program arguments: /Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test -target arm64-apple-macosx13.0 -module-cache-path /Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/swift-test-results/arm64-apple-macosx13.0/clang-module-cache -completion-cache-path /Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/swift-test-results/arm64-apple-macosx13.0/completion-cache -swift-version 4 -print-module -module-to-print=Library -source-filename=x -I /Users/hamish/src/swift-dev/swift/validation-test/Serialization/Inputs/ -I /Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/validation-test-macosx-arm64/Serialization/Output/rdar29694978.swift.tmp
1. While reading from module 'Library', builder version '6.1(4.1.50)/Swift version 6.1-dev (LLVM 98742a35606e953, Swift e6e174cd2547859)', built from source against SDK 24A336, non-resilient, loaded from '/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/validation-test-macosx-arm64/Serialization/Output/rdar29694978.swift.tmp/Library.swiftmodule'
#0 0x0000000109b957f8 llvm::sys::PrintStackTrace(llvm::raw_ostream&, int) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x1052157f8)
#1 0x0000000109b93c34 llvm::sys::RunSignalHandlers() (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x105213c34)
#2 0x0000000109b95e44 SignalHandler(int) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x105215e44)
#3 0x000000019fe6c184 (/usr/lib/system/libsystem_platform.dylib+0x180484184)
#4 0x000000019fe36f70 (/usr/lib/system/libsystem_pthread.dylib+0x18044ef70)
#5 0x000000019fd43908 (/usr/lib/system/libsystem_c.dylib+0x18035b908)
#6 0x000000019fd42c1c (/usr/lib/system/libsystem_c.dylib+0x18035ac1c)
#7 0x0000000109b9ccc0 swift::ast_scope::ASTScopeImpl::printRange(llvm::raw_ostream&) const (.cold.2) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x10521ccc0)
#8 0x0000000104e4381c swift::SourceManager::GetMessage(swift::SourceLoc, llvm::SourceMgr::DiagKind, llvm::Twine const&, llvm::ArrayRef<llvm::SMRange>, llvm::ArrayRef<llvm::SMFixIt>, bool) const (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x1004c381c)
#9 0x0000000104e42f10 swift::PrintingDiagnosticConsumer::printDiagnostic(swift::SourceManager&, swift::DiagnosticInfo const&) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x1004c2f10)
#10 0x0000000104e42980 swift::PrintingDiagnosticConsumer::handleDiagnostic(swift::SourceManager&, swift::DiagnosticInfo const&) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x1004c2980)
#11 0x0000000104c08f74 swift::DiagnosticEngine::emitDiagnostic(swift::Diagnostic const&) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x100288f74)
#12 0x0000000104c08a7c swift::DiagnosticEngine::handleDiagnostic(swift::Diagnostic&&) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x100288a7c)
#13 0x0000000104c06628 swift::InFlightDiagnostic::flush() (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x100286628)
#14 0x0000000105ec7358 void llvm::function_ref<void (clang::FullSourceLoc, clang::DiagnosticsEngine::Level, llvm::StringRef)>::callback_fn<swift::ClangDiagnosticConsumer::HandleDiagnostic(clang::DiagnosticsEngine::Level, clang::Diagnostic const&)::$_0>(long, clang::FullSourceLoc, clang::DiagnosticsEngine::Level, llvm::StringRef) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x101547358)
#15 0x0000000107ebf6d8 clang::DiagnosticRenderer::emitDiagnostic(clang::FullSourceLoc, clang::DiagnosticsEngine::Level, llvm::StringRef, llvm::ArrayRef<clang::CharSourceRange>, llvm::ArrayRef<clang::FixItHint>, llvm::PointerUnion<clang::Diagnostic const*, clang::StoredDiagnostic const*>) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x10353f6d8)
#16 0x0000000105ec6c24 swift::ClangDiagnosticConsumer::HandleDiagnostic(clang::DiagnosticsEngine::Level, clang::Diagnostic const&) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x101546c24)
#17 0x0000000109a21160 clang::DiagnosticIDs::ProcessDiag(clang::DiagnosticsEngine&) const (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x1050a1160)
#18 0x0000000109a1c144 clang::DiagnosticsEngine::EmitCurrentDiagnostic(bool) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x10509c144)
#19 0x0000000105ee379c clang::DiagnosticBuilder::~DiagnosticBuilder() (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x10156379c)
#20 0x000000010997e194 clang::Lexer::LexTokenInternal(clang::Token&, bool) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x104ffe194)
#21 0x000000010997c390 clang::Lexer::Lex(clang::Token&) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x104ffc390)
#22 0x00000001099de690 clang::Preprocessor::Lex(clang::Token&) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x10505e690)
#23 0x00000001099a3fbc clang::Preprocessor::PeekAhead(unsigned int) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x105023fbc)
#24 0x0000000105ecebdc swift::ClangImporter::Implementation::importHeader(swift::ModuleDecl*, llvm::StringRef, swift::SourceLoc, bool, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, bool) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x10154ebdc)
#25 0x0000000105ecf5a0 swift::ClangImporter::importHeader(llvm::StringRef, swift::ModuleDecl*, long long, long, llvm::StringRef, swift::SourceLoc) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x10154f5a0)
#26 0x0000000105e007f0 swift::ModuleFile::loadDependenciesForFileContext(swift::FileUnit const*, swift::SourceLoc, bool) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x1014807f0)
#27 0x0000000105e01088 swift::ModuleFile::associateWithFileContext(swift::FileUnit*, swift::SourceLoc, bool) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x101481088)
#28 0x0000000105e7d9e4 swift::SerializedModuleLoaderBase::loadAST(swift::ModuleDecl&, std::__1::optional<swift::SourceLoc>, llvm::StringRef, llvm::StringRef, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, std::__1::unique_ptr<llvm::MemoryBuffer, std::__1::default_delete<llvm::MemoryBuffer>>, bool) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x1014fd9e4)
#29 0x0000000105e80a38 swift::SerializedModuleLoaderBase::loadModule(swift::SourceLoc, swift::ImportPath::Module, bool) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x101500a38)
#30 0x0000000104a1be68 swift::ASTContext::getModule(swift::ImportPath::Module, bool) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x10009be68)
#31 0x0000000104a1c4a0 swift::ASTContext::getModuleByName(llvm::StringRef) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x10009c4a0)
#32 0x00000001049c24ac doPrintModules(swift::CompilerInvocation const&, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>, std::__1::allocator<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char>>>>, swift::optionset::OptionSet<swift::ide::ModuleTraversal, unsigned int>, swift::PrintOptions const&, bool, bool) (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x1000424ac)
#33 0x00000001049bae38 main (/Users/hamish/src/swift-dev/build/Release/swift-macosx-arm64/bin/swift-ide-test+0x10003ae38)
#34 0x000000019fab4274
FileCheck error: '<stdin>' is empty.
FileCheck command line: /Users/hamish/src/swift-dev/build/Release/llvm-macosx-arm64/bin/FileCheck --allow-unused-prefixes /Users/hamish/src/swift-dev/swift/validation-test/Serialization/rdar29694978.swift