-
Notifications
You must be signed in to change notification settings - Fork 10.5k
🟠 OSS Swift CI: oss-swift-incremental-ASAN-RA-macos failed: test: Frontend/load-pass-plugin.swift (exit code 1) #77771
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
Comments
I think the fix for this is probably to remove |
@antoniofrighetto Would you be able to take a look at this? // @aschwaighofer |
This test is buggy and fails under ASAN (which detects the bug). See swiftlang#77771.
(I've disabled the test when doing the ASAN build for now, but we should fix this and re-enable it.) |
@al45tair Thank you for the temporary fix! I agree we should have not been linking against |
Yes please. There's no rush — this is new functionality and it's the test case itself that's slightly wrong (while I wouldn't want people to go building passes and making the same mistake because they copied the commands from the test case, I doubt that's really a problem in practice as I imagine most passes added this way are things people are experimenting with). |
This test is buggy and fails under ASAN (which detects the bug). See swiftlang#77771.
`libTestPlugin.dylib` dynamic library was previously linking against `libLLVMSupport.a`, whose library is already linked in the Swift compiler binary, hence leading to multiple conflicting definitions of `libLLVMSupport` symbols. This issue has been addressed by telling the linker to resolve undefined symbols from the Swift frontend at runtime. Fixes: swiftlang#77771.
…NFC) `libTestPlugin.dylib` dynamic library was previously linking against `libLLVMSupport.a`, whose library is already linked in the Swift compiler binary, hence leading to multiple conflicting definitions of `libLLVMSupport` symbols. This issue has been addressed by telling the linker to resolve undefined symbols from the Swift frontend at runtime. Fixes: swiftlang#77771.
…NFC) `libTestPlugin.dylib` dynamic library was previously linking against `libLLVMSupport.a`, whose library is already linked in the Swift compiler binary, hence leading to multiple conflicting definitions of `libLLVMSupport` symbols. This issue has been addressed by telling the linker to resolve undefined symbols from the Swift frontend at runtime. Fixes: swiftlang#77771.
Description
#68985 introduced a way to load an LLVM pass from a dynamic library into the compiler. Unfortunately the test case for this is subtly broken as it links against the (static) library
libLLVMSupport.a
, which is already linked into the compiler binary, and so we end up with ODR violations, which are picked up by ASAN; in particular, the ASAN build is complaining aboutllvm::circular_raw_ostream
.Reproduction
https://ci.swift.org/job/oss-swift-incremental-ASAN-RA-macos/7303/consoleFull#1161724776d6fdb6cb-f376-4f2e-8bce-d31c7304698b
Expected behavior
The test case should pass.
Environment
Swift OSS CI (ASAN build)
Additional information
rdar://140319292
The text was updated successfully, but these errors were encountered: