Skip to content

[SR-8223] Running swift on a runtime test file would crash #50755

Open
@swift-ci

Description

@swift-ci
Previous ID SR-8223
Radar None
Original Reporter hongm (JIRA User)
Type Bug
Additional Detail from JIRA
Votes 0
Component/s Swift for TensorFlow
Labels Bug
Assignee None
Priority Medium

md5: 26db0e07501f2a24eac26715804f400f

relates to:

  • TF-121 Loop test failing on macOS

Issue Description:

This two-step workflow works:

$ ../build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swiftc test/TensorFlowRuntime/control_flow.swift -L../build/bazel-bin/tensorflow -ltensorflow -ltensorflow_framework

./control_flow

But this one-step workflow does not:

$ ../build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift -O /usr/local/google/home/hongm/ssd_part/git/swift-base/swift/test/TensorFlowRuntime/control_flow.swift -L../build/bazel-bin/tensorflow -ltensorflow -ltensorflow_framework
/usr/local/google/home/hongm/ssd_part/git/swift-base/swift/test/TensorFlowRuntime/control_flow.swift:14:14: warning: value implicitly copied to the accelerator, use .toAccelerator() to make transfer explicit
public func testSwitchEnum(_ a: Tensor<Float>?,
~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/google/home/hongm/ssd_part/git/swift-base/swift/test/TensorFlowRuntime/control_flow.swift:18:7: note: value used here
b += a
~~^~~~
[ RUN ] ControlFlow.testSwitchEnum_CPU_OR_GPU
Permission denied
#&#8203;0 0x0000000003d1ef84 PrintStackTraceSignalHandler(void*) (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift+0x3d1ef84)
#&#8203;1 0x0000000003d1d202 llvm::sys::RunSignalHandlers() (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift+0x3d1d202)
#&#8203;2 0x0000000003d1f132 SignalHandler(int) (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift+0x3d1f132)
#&#8203;3 0x00007f3c39f820c0 __restore_rt (/lib/x86_64-linux-gnu/libpthread.so.0+0x110c0)
#&#8203;4 0x00007f3bfea36c2f $S22SwiftPrivateLibcExtras10spawnChildys5Int32V3pid_AD7stdinFDAD06stdoutJ0AD06stderrJ0tSaySSGF (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftSwiftPrivateLibcExtras.so+0x3c2f)
#&#8203;5 0x00007f3bfcc4e07e $S14StdlibUnittest14_ParentProcessV11_spawnChildyyF (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftStdlibUnittest.so+0x4007e)
#&#8203;6 0x00007f3bfcc4e3bc $S14StdlibUnittest14_ParentProcessV15_runTestInChild__9parameterSb15anyExpectFailed_Sb04seenK5Crash22SwiftPrivateLibcExtras0D17TerminationStatusOSg6statusSays9SubstringVG11crashStdoutAO0W6StderrtAA0F5SuiteC_SSSiSgtF (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftStdlibUnittest.so+0x403bc)
#&#8203;7 0x00007f3bfcc508d5 $S14StdlibUnittest14_ParentProcessV10runOneTest04fullG4Name9testSuite0J00J9ParameterAC01_G6StatusOSS_AA0gK0CAL01_G0VSiSgtF (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftStdlibUnittest.so+0x428d5)
#&#8203;8 0x00007f3bfcc5225d $S14StdlibUnittest14_ParentProcessV3runyyF (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftStdlibUnittest.so+0x4425d)
#&#8203;9 0x00007f3bfcc5462b $S14StdlibUnittest11runAllTestsyyF (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/lib/swift/linux/x86_64/libswiftStdlibUnittest.so+0x4662b)
#&#8203;10 0x00007f3c3a38a0c0
#&#8203;11 0x0000000001066645 llvm::MCJIT::runFunction(llvm::Function*, llvm::ArrayRef<llvm::GenericValue>) (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift+0x1066645)
#&#8203;12 0x000000000106a4ee llvm::ExecutionEngine::runFunctionAsMain(llvm::Function*, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, char const* const*) (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift+0x106a4ee)
#&#8203;13 0x00000000004ecba8 swift::RunImmediately(swift::CompilerInstance&, std::vector<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::allocator<std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > const&, swift::IRGenOptions&, swift::SILOptions const&) (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift+0x4ecba8)
#&#8203;14 0x00000000004d330c performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef<char const*>, int&, swift::FrontendObserver*, swift::UnifiedStatsReporter*) (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift+0x4d330c)
#&#8203;15 0x00000000004cee49 swift::performFrontend(llvm::ArrayRef<char const*>, char const*, void*, swift::FrontendObserver*) (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift+0x4cee49)
#&#8203;16 0x0000000000489cc5 main (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift+0x489cc5)
#&#8203;17 0x00007f3c261fc2b1 __libc_start_main (/lib/x86_64-linux-gnu/libc.so.6+0x202b1)
#&#8203;18 0x000000000048776a _start (/usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift+0x48776a)
Stack dump:
0.  Program arguments: /usr/local/google/home/hongm/ssd_part/git/swift-base/build/Ninja-ReleaseAssert+stdlib-Release/swift-linux-x86_64/bin/swift -frontend -interpret /usr/local/google/home/hongm/ssd_part/git/swift-base/swift/test/TensorFlowRuntime/control_flow.swift -disable-objc-interop -O -module-name control_flow -- -L../build/bazel-bin/tensorflow -ltensorflow -ltensorflow_framework 
Illegal instruction

I've only tested this on Linux, and on our runtime unit tests.

Feel free to take this if anyone is interested. Otherwise I can triage this later.

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugA deviation from expected or documented behavior. Also: expected but undesirable behavior.swift for tensorflow

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions