swiftlang / swift

The Swift Programming Language
https://swift.org
Apache License 2.0
67.49k stars 10.35k forks source link

[SR-8423] [-Onone] Assertion `tensorCodeBlocks.properlyPostDominates(thisBB, pred)' failed at TFPartition.cpp:1138 #50947

Closed swift-ci closed 5 years ago

swift-ci commented 6 years ago
Previous ID SR-8423
Radar None
Original Reporter bgogul (JIRA User)
Type Bug
Status Closed
Resolution Invalid
Additional Detail from JIRA | | | |------------------|-----------------| |Votes | 0 | |Component/s | Swift for TensorFlow | |Labels | Bug, GPE | |Assignee | bgogul (JIRA) | |Priority | Medium | md5: 31339004ae9bd9457dc0d179b3bc2b9f

relates to:

Issue Description:

Affected tests:

swift: /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/SILOptimizer/Mandatory/TFPartition.cpp:1138: bool (anonymous namespace)::TFFunctionPartition::markBlock(swift::SILBasicBlock *): Assertion `tensorCodeBlocks.properlyPostDominates(thisBB, pred)' failed.
#​0 0x0000000004db6cf4 PrintStackTraceSignalHandler(void*) (/usr/local/google/home/bgogul/workspace/brain/s4tf/build/Ninja-ReleaseAssert+swift-DebugAssert/swift-linux-x86_64/bin/swift+0x4db6cf4)
#​1 0x0000000004db4f72 llvm::sys::RunSignalHandlers() (/usr/local/google/home/bgogul/workspace/brain/s4tf/build/Ninja-ReleaseAssert+swift-DebugAssert/swift-linux-x86_64/bin/swift+0x4db4f72)
#​2 0x0000000004db6ea2 SignalHandler(int) (/usr/local/google/home/bgogul/workspace/brain/s4tf/build/Ninja-ReleaseAssert+swift-DebugAssert/swift-linux-x86_64/bin/swift+0x4db6ea2)
#​3 0x00007f8eaf03d0c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x110c0)
#​4 0x00007f8ea8fb9fcf gsignal (/lib/x86_64-linux-gnu/libc.so.6+0x32fcf)
#​5 0x00007f8ea8fbb3fa abort (/lib/x86_64-linux-gnu/libc.so.6+0x343fa)
#​6 0x00007f8ea8fb2e37 (/lib/x86_64-linux-gnu/libc.so.6+0x2be37)
#​7 0x00007f8ea8fb2ee2 (/lib/x86_64-linux-gnu/libc.so.6+0x2bee2)
#​8 0x00000000017439bf (anonymous namespace)::TFFunctionPartition::markBlock(swift::SILBasicBlock*) /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/SILOptimizer/Mandatory/TFPartition.cpp:1139:9
#​9 0x00000000017316e2 (anonymous namespace)::TFFunctionPartition::markInstruction(swift::SILInstruction&, (anonymous namespace)::Marking) /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/SILOptimizer/Mandatory/TFPartition.cpp:1301:7
#​10 0x000000000172d233 (anonymous namespace)::TFFunctionPartition::markFunction(bool&) /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/SILOptimizer/Mandatory/TFPartition.cpp:2080:9
#&#8203;11 0x000000000172c401 (anonymous namespace)::TFPartition::partitionFunction(swift::SILFunction*, std::unique_ptr<(anonymous namespace)::TFFunctionPartition, std::default_delete<(anonymous namespace)::TFFunctionPartition> >&) /usr/local/google/home/bgogul/workspace/brain\
/s4tf/swift/lib/SILOptimizer/Mandatory/TFPartition.cpp:4609:7
#&#8203;12 0x000000000172b522 (anonymous namespace)::TFPartition::processFunction(swift::SILFunction*, llvm::SmallVectorImpl<std::pair<swift::SILFunction*, std::unique_ptr<(anonymous namespace)::TFFunctionPartition, std::default_delete<(anonymous namespace)::TFFunctionPartition\
> > > >&) /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/SILOptimizer/Mandatory/TFPartition.cpp:4540:7
#&#8203;13 0x000000000172b131 (anonymous namespace)::TFPartition::run() /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/SILOptimizer/Mandatory/TFPartition.cpp:4503:9
#&#8203;14 0x00000000010d3169 swift::SILPassManager::runModulePass(unsigned int) /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/SILOptimizer/PassManager/PassManager.cpp:474:3
#&#8203;15 0x00000000010d3b1d swift::SILPassManager::execute() /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/SILOptimizer/PassManager/PassManager.cpp:531:7
#&#8203;16 0x0000000000718a5b swift::SILPassManager::executePassPipelinePlan(swift::SILPassPipelinePlan const&) /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/include/swift/SILOptimizer/PassManager/PassManager.h:0:7
#&#8203;17 0x00000000010f6639 swift::runSILTFPartitionPass(swift::SILModule&) /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/SILOptimizer/PassManager/Passes.cpp:142:6
#&#8203;18 0x000000000054d0ff performCompileStepsPostSILGen(swift::CompilerInstance&, swift::CompilerInvocation&, std::unique_ptr<swift::SILModule, std::default_delete<swift::SILModule> >, bool, llvm::PointerUnion<swift::ModuleDecl*, swift::SourceFile*>, swift::PrimarySpecificP\
aths const&, bool, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/FrontendTool/FrontendTool.cpp:1305:7
#&#8203;19 0x0000000000548b45 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/FrontendTool/FrontendTool.c\
pp:1003:9
#&#8203;20 0x00000000005479de swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/lib/FrontendTool/FrontendTool.cpp:1838:8
#&#8203;21 0x000000000049d11f run_driver(llvm::StringRef, llvm::ArrayRef<char const*>) /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/tools/driver/driver.cpp:122:7
#&#8203;22 0x000000000049c3a8 main /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/tools/driver/driver.cpp:251:5
#&#8203;23 0x00007f8ea8fa72b1 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b1)
#&#8203;24 0x0000000000494a4a _start (/usr/local/google/home/bgogul/workspace/brain/s4tf/build/Ninja-ReleaseAssert+swift-DebugAssert/swift-linux-x86_64/bin/swift+0x494a4a)
Stack dump:
0.      Program arguments: /usr/local/google/home/bgogul/workspace/brain/s4tf/build/Ninja-ReleaseAssert+swift-DebugAssert/swift-linux-x86_64/bin/swift -frontend -target x86_64-unknown-linux-gnu -module-cache-path /usr/local/google/home/bgogul/workspace/brain/s4tf/build/N\
inja-ReleaseAssert+swift-DebugAssert/swift-linux-x86_64/swift-test-results/x86_64-unknown-linux-gnu/clang-module-cache -swift-version 4 -Xllvm -tf-dump-intermediates -Xllvm -tf-dump-graph -Onone -emit-sil /usr/local/google/home/bgogul/workspace/brain/s4tf/swift/test/Tens\
orFlow/control_flow.swift -verify -enable-objc-interop -disable-objc-attr-requires-foundation-module
1.      While running pass #&#8203;0 SILModuleTransform "TFPartition".
rxwei commented 6 years ago

Any reproducer?

swift-ci commented 6 years ago

Comment by Gogul Balakrishnan (JIRA)

Yes, control_flow.swift is the affected test. I have updated the description now.

swift-ci commented 6 years ago

Comment by Gogul Balakrishnan (JIRA)

infLoop1() is the failing test within the file. It seems like the infinite loop detection is not robust enough.

swift-ci commented 6 years ago

Comment by Gogul Balakrishnan (JIRA)

https://bugs.swift.org/browse/SR-8251 is also related to detecting infinite loops.

swift-ci commented 5 years ago

Comment by Gogul Balakrishnan (JIRA)

Marking this as obsolete.