Skip to content

[SR-4272] Assertion failed: ((HadError || !M.is<SourceFile*>() || M.get<SourceFile*>()->ASTStage < SourceFile::TypeChecked) && "UnresolvedDot" "in wrong phase" #46855

Closed
@dabrahams

Description

@dabrahams
Previous ID SR-4272
Radar rdar://problem/31115729
Original Reporter @dabrahams
Type Bug
Status Resolved
Resolution Cannot Reproduce
Additional Detail from JIRA
Votes 0
Component/s Compiler
Labels Bug, CompilerCrash, TypeChecker
Assignee None
Priority Medium

md5: 73a52146b47d89cc39d6ae48f10280cc

is duplicated by:

  • SR-4314 Assertion failed: ((HadError || !M.is<SourceFile*>() || M.get<SourceFile*>()->ASTStage < SourceFile::TypeChecked) && "UnresolvedDot" "in wrong phase")

relates to:

  • SR-1725 Assertion failed: ((HadError || !M.is<SourceFile*>() || M.get<SourceFile*>()->ASTStage < SourceFile::TypeChecked) && "UnresolvedDot" "in wrong phase")
  • SR-4314 Assertion failed: ((HadError || !M.is<SourceFile*>() || M.get<SourceFile*>()->ASTStage < SourceFile::TypeChecked) && "UnresolvedDot" "in wrong phase")
  • SR-1725 Assertion failed: ((HadError || !M.is<SourceFile*>() || M.get<SourceFile*>()->ASTStage < SourceFile::TypeChecked) && "UnresolvedDot" "in wrong phase")
  • SR-3053 UnresolvedDotExpr not resolved by type checking (leads to crash)

Issue Description:

$ git fetch https://github.com/dabrahams/swift refs/bugs/unresolved-dot-in-wrong-phase:BUG && git checkout BUG

Build the compiler for this crash:

/Users/dave/src/s/swift/utils/build-script --distcc --skip-build-ios-device --skip-build-tvos-device --skip-build-compiler-rt --debug-swift-stdlib --skip-build-benchmarks --release --swift-stdlib-assertions --swift-stdlib-build-type=Debug --

+ mkdir -p /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert
+ env HOST_VARIABLE_macosx_x86_64__SWIFT_BENCHMARK_TARGETS=swift-benchmark-macosx-x86_64 HOST_VARIABLE_macosx_x86_64__SWIFT_RUN_BENCHMARK_TARGETS=check-swift-benchmark-macosx-x86_64 'HOST_VARIABLE_macosx_x86_64__SWIFT_SDKS=IOS IOS_SIMULATOR OSX TVOS TVOS_SIMULATOR WATCHOS WATCHOS_SIMULATOR' HOST_VARIABLE_macosx_x86_64__SWIFT_STDLIB_TARGETS=swift-test-stdlib-macosx-x86_64 HOST_VARIABLE_macosx_x86_64__SWIFT_TEST_TARGETS= caffeinate /Users/Shared/dabrahams/s/swift/utils/build-script-impl --workspace /Users/Shared/dabrahams/s --build-dir /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert --install-prefix /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr --host-target macosx-x86_64 --stdlib-deployment-targets 'macosx-x86_64 iphonesimulator-i386 iphonesimulator-x86_64 appletvsimulator-x86_64 watchsimulator-i386 iphoneos-armv7 iphoneos-armv7s iphoneos-arm64 appletvos-arm64 watchos-armv7k' --host-cc /Applications/Xcode-8W109m.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang --host-cxx /Applications/Xcode-8W109m.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ --darwin-xcrun-toolchain default --darwin-deployment-version-osx=10.9 --darwin-deployment-version-ios=7.0 --darwin-deployment-version-tvos=9.0 --darwin-deployment-version-watchos=2.0 --cmake /Users/dave/brew/bin/cmake --cmark-build-type Release --llvm-build-type Release --swift-build-type Release --swift-stdlib-build-type Debug --lldb-build-type Release --foundation-build-type Release --libdispatch-build-type Release --libicu-build-type Release --xctest-build-type Release --swiftpm-build-type Release --swift-enable-assertions true --swift-stdlib-enable-assertions true --swift-analyze-code-coverage false --cmake-generator Ninja --build-jobs 8 '--common-cmake-options=-G Ninja -DCMAKE_C_COMPILER:PATH=/Users/dave/brew/bin/distcc -DCMAKE_C_COMPILER_ARG1=/Applications/Xcode-8W109m.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -DCMAKE_CXX_COMPILER:PATH=/Users/dave/brew/bin/distcc -DCMAKE_CXX_COMPILER_ARG1=/Applications/Xcode-8W109m.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang++ -DCMAKE_MAKE_PROGRAM=/Users/dave/brew/bin/ninja' --build-args=-j112 --cmark-cmake-options= '--llvm-cmake-options=-DLLVM_ENABLE_ASSERTIONS=TRUE -DLLVM_TARGETS_TO_BUILD=X86;ARM;AArch64;PowerPC;SystemZ' '--swift-cmake-options=-DSWIFT_STDLIB_ENABLE_SIL_OWNERSHIP=FALSE -DCMAKE_EXPORT_COMPILE_COMMANDS=TRUE -DSWIFT_FORCE_OPTIMIZED_TYPECHECKER=FALSE' --build-stdlib-deployment-targets all --ninja-bin=/Users/dave/brew/bin/ninja --distcc --distcc-pump=/Users/dave/brew/bin/pump --skip-build-benchmarks --skip-build-foundation --skip-build-xctest --skip-build-lldb --skip-build-llbuild --skip-build-libdispatch --skip-build-libicu --skip-build-swiftpm --skip-build-playgroundlogger --skip-build-playgroundsupport --build-swift-dynamic-stdlib --build-swift-dynamic-sdk-overlay --skip-build-ios-device --skip-build-ios-simulator --skip-build-tvos-device --skip-build-tvos-simulator --skip-build-watchos-device --skip-build-watchos-simulator --skip-build-android --skip-test-swift --skip-test-cmark --skip-test-lldb --skip-test-llbuild --skip-test-swiftpm --skip-test-xctest --skip-test-foundation --skip-test-libdispatch --skip-test-libicu --skip-test-playgroundlogger --skip-test-playgroundsupport --skip-test-linux --skip-test-freebsd --skip-test-cygwin --skip-test-osx --skip-test-ios-host --skip-test-ios-simulator --skip-test-tvos-host --skip-test-tvos-simulator --skip-test-watchos-host --skip-test-watchos-simulator --skip-test-android-host --skip-test-benchmarks --skip-test-optimized --android-deploy-device-path /data/local/tmp --toolchain-prefix /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain --host-lipo /Applications/Xcode-8W109m.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/lipo --host-libtool /Applications/Xcode-8W109m.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/libtool --skip-build-compiler-rt --swift-stdlib-build-type=Debug --llvm-lit-args=-sv
Building the standard library for: swift-test-stdlib-macosx-x86_64
cmark: using standard linker
+ /Users/dave/brew/bin/pump /Users/dave/brew/bin/cmake --build /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/cmark-macosx-x86_64 -- -j112 all
__________Using distcc-pump from /Users/dave/brew/bin/../Cellar/distcc-swift/r796/bin
__________Using       12 distcc servers in pump mode
ninja: no work to do.
__________Shutting down distcc-pump include server
llvm: using standard linker
symlinking the system headers (/Applications/Xcode-8W109m.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../../usr/include/c++) into the local clang build directory (/Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/llvm-macosx-x86_64/include).
+ ln -s -f /Applications/Xcode-8W109m.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/../../usr/include/c++ /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/llvm-macosx-x86_64/include
+ /Users/dave/brew/bin/pump /Users/dave/brew/bin/cmake --build /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/llvm-macosx-x86_64 -- -j112 all
__________Using distcc-pump from /Users/dave/brew/bin/../Cellar/distcc-swift/r796/bin
__________Using       12 distcc servers in pump mode
ninja: no work to do.
__________Shutting down distcc-pump include server
swift: using standard linker
+ /Users/dave/brew/bin/pump /Users/dave/brew/bin/cmake --build /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64 -- -j112 all swift-test-stdlib-macosx-x86_64
__________Using distcc-pump from /Users/dave/brew/bin/../Cellar/distcc-swift/r796/bin
__________Using       12 distcc servers in pump mode
[1/78] Compiling /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/stdlib/public/core/macosx/x86_64/Swift.o
FAILED: stdlib/public/core/macosx/x86_64/Swift.o 
cd /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/stdlib/public/core && /usr/bin/python /Users/Shared/dabrahams/s/swift/utils/line-directive @/Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/stdlib/public/core/yXqvc.txt -- /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/./bin/swiftc -c -sdk /Applications/Xcode-8W109m.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -target x86_64-apple-macosx10.9 -resource-dir /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/./lib/swift -F /Applications/Xcode-8W109m.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/../../../Developer/Library/Frameworks -Onone -g -D INTERNAL_CHECKS_ENABLED -I /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/./lib/swift/macosx/x86_64 -module-cache-path /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/./module-cache -no-link-objc-runtime -nostdimport -parse-stdlib -module-name Swift -Xfrontend -group-info-path -Xfrontend /Users/Shared/dabrahams/s/swift/stdlib/public/core/GroupInfo.json -Xfrontend -sil-serialize-all -module-link-name swiftCore -force-single-frontend-invocation -Xcc -D__SWIFT_CURRENT_DYLIB=swiftCore -parse-as-library -o /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/stdlib/public/core/macosx/x86_64/Swift.o @/Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/stdlib/public/core/yXqvc.txt
Assertion failed: ((HadError || !M.is<SourceFile*>() || M.get<SourceFile*>()->ASTStage < SourceFile::TypeChecked) && "UnresolvedDot" "in wrong phase"), function walkToExprPre, file /Users/Shared/dabrahams/s/swift/include/swift/AST/ExprNodes.def, line 87.
0  swift                    0x000000010abd84e8 llvm::sys::PrintStackTrace(llvm::raw_ostream&) + 40
1  swift                    0x000000010abd8b96 SignalHandler(int) + 454
2  libsystem_platform.dylib 0x00007fff959d6b3a _sigtramp + 26
3  swift                    0x00000001087ef484 bool llvm::function_ref<bool (swift::Type)>::callback_fn<(anonymous namespace)::Verifier::verifyChecked(swift::Type, llvm::SmallPtrSet<swift::ArchetypeType*, 4u>&)::'lambda'(swift::Type)>(long, swift::Type) + 36
4  libsystem_c.dylib        0x00007fff9585b420 abort + 129
5  libsystem_c.dylib        0x00007fff95822893 basename_r + 0
6  swift                    0x00000001087e7a07 (anonymous namespace)::Verifier::walkToExprPre(swift::Expr*) + 263
7  swift                    0x00000001087fabbe swift::ASTVisitor<(anonymous namespace)::Traversal, swift::Expr*, swift::Stmt*, bool, swift::Pattern*, bool, void>::visit(swift::Stmt*) + 910
8  swift                    0x00000001087fa9ed swift::ASTVisitor<(anonymous namespace)::Traversal, swift::Expr*, swift::Stmt*, bool, swift::Pattern*, bool, void>::visit(swift::Stmt*) + 445
9  swift                    0x00000001087fd0e0 (anonymous namespace)::Traversal::visitAbstractFunctionDecl(swift::AbstractFunctionDecl*) + 1232
10 swift                    0x00000001087f69d8 (anonymous namespace)::Traversal::doIt(swift::Decl*) + 376
11 swift                    0x00000001087fcb94 (anonymous namespace)::Traversal::visitNominalTypeDecl(swift::NominalTypeDecl*) + 900
12 swift                    0x00000001087f69c7 (anonymous namespace)::Traversal::doIt(swift::Decl*) + 359
13 swift                    0x00000001087f684b swift::Decl::walk(swift::ASTWalker&) + 27
14 swift                    0x00000001088799ba swift::SourceFile::walk(swift::ASTWalker&) + 170
15 swift                    0x00000001087e739b swift::verify(swift::SourceFile&) + 59
16 swift                    0x000000010876f70f swift::performTypeChecking(swift::SourceFile&, swift::TopLevelContext&, swift::OptionSet<swift::TypeCheckingFlags, unsigned int>, unsigned int, unsigned int) + 2047
17 swift                    0x0000000108369f19 swift::CompilerInstance::performSema() + 3897
18 swift                    0x00000001078d75bc swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) + 4380
19 swift                    0x0000000107894cd0 main + 3312
20 libdyld.dylib            0x00007fff957c7235 start + 1
Stack dump:
0.  Program arguments: /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/bin/swift -frontend -c -filelist /var/folders/k9/nzq6k4f57xb5vw8wrgk_7cvh0000gn/T/sources-be969e -disable-objc-attr-requires-foundation-module -target x86_64-apple-macosx10.9 -enable-objc-interop -sdk /Applications/Xcode-8W109m.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk -I /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/./lib/swift/macosx/x86_64 -F /Applications/Xcode-8W109m.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.12.sdk/../../../Developer/Library/Frameworks -g -module-cache-path /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/./module-cache -module-link-name swiftCore -nostdimport -parse-stdlib -resource-dir /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/./lib/swift -D INTERNAL_CHECKS_ENABLED -group-info-path /Users/Shared/dabrahams/s/swift/stdlib/public/core/GroupInfo.json -sil-serialize-all -Xcc -D__SWIFT_CURRENT_DYLIB=swiftCore -Onone -parse-as-library -module-name Swift -o /Users/Shared/dabrahams/s/build/Ninja-ReleaseAssert+stdlib-DebugAssert/swift-macosx-x86_64/stdlib/public/core/macosx/x86_64/Swift.o 
1.  While walking into decl '_TranscodedView' at /Users/Shared/dabrahams/s/swift/stdlib/public/core/UnicodeViews.swift:213:8
2.  While walking into body of 'index' at /Users/Shared/dabrahams/s/swift/stdlib/public/core/UnicodeViews.swift:239:3
<unknown>:0: error: unable to execute command: Abort trap: 6
<unknown>:0: error: compile command failed due to signal 6 (use -v to see invocation)

other hashes:

clang f95defb935 Merge remote-tracking branch 'origin/swift-4.0-branch' into stable
cmark d875488 Merge pull request #4 from llvm-beanz/generate-cmark-exports
compiler-rt d8d2f6422 Merge remote-tracking branch 'origin/swift-4.0-branch' into stable
llbuild 360bcdd [devel] Add a Vagrantfile.
lldb 9ca9758f9 Merge pull request #149 from bitjammer/swift-typealias-equal-sourceloc
llvm cf5ed9132f2 Merge remote-tracking branch 'origin/swift-4.0-branch' into stable
ninja 0b0374e Merge pull request #1255 from tchajed/bind-localhost
swift f282dc3 [stdlib] UnicodeStorage => _UnicodeViews
swift-corelibs-foundation 3c78f9c Merge pull request #916 from swizzlr/master
swift-corelibs-libdispatch 1cc64e1 Review comments.
swift-corelibs-xctest 50cc074 XCTestAssertNoThrow (#184)
swift-integration-tests 8ae3586 Merge pull request #18 from apple/disable-lldb-test
swift-xcode-playground-support 9e980f2 Temporary disable test to get the incremental bot blue again
swiftpm 154fdea Merge pull request #1017 from aciidb0mb3r/non-throwing-workspace

Metadata

Metadata

Assignees

No one assigned

    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 softwaretype checkerArea → compiler: Semantic analysis

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions