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-9474] Swift 5.0 'Sanitizers' test failures on PowerPC64LE #51936

Open
swift-ci opened this issue Dec 11, 2018 · 5 comments
Open

[SR-9474] Swift 5.0 'Sanitizers' test failures on PowerPC64LE #51936

swift-ci opened this issue Dec 11, 2018 · 5 comments
Labels
bug A deviation from expected or documented behavior. Also: expected but undesirable behavior. compiler The Swift compiler in itself ppc64le Architecture: 64-bit little-endian PowerPC

Comments

@swift-ci
Copy link
Collaborator

Previous ID SR-9474
Radar None
Original Reporter stamba (JIRA User)
Type Bug

Attachment: Download

Environment

PowerPC64LE(Little Endian) - Ubuntu 16.04.4 LTS

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

md5: 030568327a69a224a8b6083143ffc5ed

Issue Description:

The following Sanitizers test failures are seen when Swift 5.0 toolchain is built on PowerPC64LE.

Invoked the build-toolchain to run the tests as follows :-
utils/build-toolchain srtbundle --test

**Following are the Sanitizers test failures:-

Swift(linux-powerpc64le) :: Sanitizers/tsan.swift
Swift(linux-powerpc64le) :: Sanitizers/witness_table_lookup.swift

Are these tests valid for PowerPC64LE?

Attached are the error details of the failing tests.

SanitizersTestFailures.txt

@belkadan
Copy link
Contributor

Does TSan work on PowerPC64LE with non-Swift code?

@swift-ci
Copy link
Collaborator Author

Comment by Sarvesh Tamba (JIRA)

Hi @belkadan, apologies, however I am quite new to Swift. 🙂

Is there a way to find if TSan work on PowerPC64LE with non-Swift code?

@belkadan
Copy link
Contributor

TSan (Thread Sanitizer) is an LLVM/Clang feature that you can read about here: https://clang.llvm.org/docs/ThreadSanitizer.html. I wouldn't take that list of supported platforms too seriously, though; that doc looks pretty old. You'll have to look around to find out.

@swift-ci
Copy link
Collaborator Author

swift-ci commented Dec 12, 2018

Comment by Sarvesh Tamba (JIRA)

Getting the following stack trace dump for both the Sanitizers test cases:

Intrinsic has incorrect argument type![](Intrinsic has incorrect argument type)  
void (%swift.type\*)\* @llvm.ppc.cfence.p0s_swift.types  
\<unknown\>:0: error: fatal error encountered during compilation; please file a bug report with your project and the crash log  
\<unknown\>:0: note: Broken function found, compilation aborted!  
Stack dump:  
0. Program arguments: /root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift -frontend -c -primary-file /root/swift-source/swift/validation-test/Sanitizers/witness_table_lookup.swift -target powerpc64le-unknown-linux-gnu -disable-objc-interop -module-cache-path /root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/swift-test-results/powerpc64le-unknown-linux-gnu/clang-module-cache -sanitize=thread -swift-version 4 -module-name main -o /tmp/lit_tmp_YlKrSO/witness_table_lookup-6e10c2.o   
1. Running pass 'Function Pass Manager' on module '/tmp/lit_tmp_YlKrSO/witness_table_lookup-6e10c2.o'.  
2. Running pass 'Module Verifier' on function '@"$s4main8EasyTypeVmMa"'  
\#0 0x0000000014d79918 PrintStackTraceSignalHandler(void\*) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x14d79918)  
\#1 0x0000000014d76d48 llvm::sys::RunSignalHandlers() (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x14d76d48)  
\#2 0x0000000014d79c10 SignalHandler(int) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x14d79c10)  
\#3 0x00003fffa5b304d8  0x4d8 gsignal  
\#4 0x00003fffa5b304d8   
\#5 0x00003fffa5b304d8 abort (+0x4d8)  
\#6 0x00003fffa54aedb0 swift::performFrontend(llvm::ArrayRef\<char const\*\>, char const\*, void\*, swift::FrontendObserver\*)::$*0::invoke(void\*, std::*\_cxx11::basic_string\<char, std::char_traits\<char\>, std::allocator\<char\> \> const&, bool) (/lib/powerpc64le-linux-gnu/libc.so.6+0x3edb0)  
\#7 0x00003fffa54b1314 llvm::report_fatal_error(llvm::Twine const&, bool) (/lib/powerpc64le-linux-gnu/libc.so.6+0x41314)  
\#8 0x0000000010103920 llvm::report_fatal_error(char const\*, bool) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x10103920)  
\#9 0x0000000014cec7c0 (anonymous namespace)::VerifierLegacyPass::runOnFunction(llvm::Function&) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x14cec7c0)  
\#10 0x0000000014cec63c llvm::FPPassManager::runOnFunction(llvm::Function&) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x14cec63c)  
\#11 0x0000000014c87850 llvm::FPPassManager::runOnModule(llvm::Module&) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x14c87850)  
\#12 0x0000000014be1a94 llvm::legacy::PassManagerImpl::run(llvm::Module&) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x14be1a94)  
\#13 0x0000000014be1e34 llvm::legacy::PassManager::run(llvm::Module&) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x14be1e34)  
\#14 0x0000000014be26f4 swift::performLLVM(swift::IRGenOptions&, swift::DiagnosticEngine\*, llvm::sys::SmartMutex\<false\>**, llvm::GlobalVariable**, llvm::Module\*, llvm::TargetMachine\*, swift::version::Version const&, llvm::StringRef, swift::UnifiedStatsReporter\*) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x14be26f4)  
\#15 0x0000000014be2ed4 performCompile(swift::CompilerInstance&, swift::CompilerInvocation&, llvm::ArrayRef\<char const\*\>, int&, swift::FrontendObserver\*, swift::UnifiedStatsReporter\*) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x14be2ed4)  
\#16 0x000000001024445c swift::performFrontend(llvm::ArrayRef\<char const\*\>, char const\*, void\*, swift::FrontendObserver\*) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x1024445c)  
\#17 0x000000001010319c run_driver(llvm::StringRef, llvm::ArrayRef\<char const\*\>) (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x1010319c)  
\#18 0x00000000100fe0c0 main (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x100fe0c0)  
\#19 0x0000000010092f60 (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x10092f60)  
\#20 0x0000000010092024 \_\_libc_start_main (/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift+0x10092024)  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x14d79918\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x14d76d48\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x14d79c10\]\[0x3fffa5b304d8\]  
/lib/powerpc64le-linux-gnu/libc.so.6(gsignal+0x40)\[0x3fffa54aedb0\]  
/lib/powerpc64le-linux-gnu/libc.so.6(abort+0x2b4)\[0x3fffa54b1314\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x10103920\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x14cec7c0\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x14cec63c\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x14c87850\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x14be1a94\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x14be1e34\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x14be26f4\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x14be2ed4\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x1024445c\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x1010319c\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x100fe0c0\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x10092f60\]  
/root/swift-source/build/buildbot_linux/swift-linux-powerpc64le/bin/swift\[0x10092024\]  
/lib/powerpc64le-linux-gnu/libc.so.6(+0x2309c)\[0x3fffa549309c\]  
/lib/powerpc64le-linux-gnu/libc.so.6(\_\_libc_start_main+0xb8)\[0x3fffa5493298\]  
\<unknown\>:0: error: unable to execute command: Aborted  
\<unknown\>:0: error: compile command failed due to signal 6 (use -v to see invocation)

@swift-ci
Copy link
Collaborator Author

Comment by Sarvesh Tamba (JIRA)

Hi @belkadan

In the link mentioned by you, I checked link under section "More Information" - https://github.com/google/sanitizers/wiki/ThreadSanitizerCppManual

Supported Platforms:
TSan is supported on Linux x86_64, tested on Ubuntu 12.04.

I will disable this for PowerPC64LE and test further.

@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 ppc64le Architecture: 64-bit little-endian PowerPC
Projects
None yet
Development

No branches or pull requests

2 participants