Skip to content

Commit 248a538

Browse files
committed
travis: Randomly try to suppress OSX segfaults
This is a complete random shot in the dark to help suppress the OSX linker segfaults being found on rust-lang#38878. The segfault happens apparently during an assertion in [this source file][1]. That apparently is related to a worker thread pool for parsing a bunch of object files. Presumably there's some concurrency bug triggering the segfault? Poking around the source to see if we could disable this multithreading behavior didn't turn up many results, but one check in the [file above][1] was related to `_options.pipelineEnabled()` which seemed suspicious. That in turn is read from [this file] in the `fPipelineFifo` instance variable (if it's non-null). That instance variable is in turn set from [another file][3] as a result of `getenv("LD_PIPELINE_FIFO")`. This PR now sets that env var for all builders, including the OSX ones. Will this help? I have no idea! But it at least seems related and hopefully isn't too hard to try out and/or back out. [1]: https://opensource.apple.com/source/ld64/ld64-274.2/src/ld/InputFiles.cpp.auto.html [2]: https://opensource.apple.com/source/ld64/ld64-274.2/src/ld/Options.h.auto.html [3]: https://opensource.apple.com/source/ld64/ld64-274.2/src/ld/Options.cpp.auto.html
1 parent f0b5145 commit 248a538

File tree

1 file changed

+4
-0
lines changed

1 file changed

+4
-0
lines changed

.travis.yml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -98,6 +98,10 @@ env:
9898
# AWS_SECRET_ACCESS_KEY=...
9999
- secure: "Pixhh0hXDqGCdOyLtGFjli3J2AtDWIpyb2btIrLe956nCBDRutRoMm6rv5DI9sFZN07Mms7VzNNvhc9wCW1y63JAm414d2Co7Ob8kWMZlz9l9t7ACHuktUiis8yr+S4Quq1Vqd6pqi7pf2J++UxC8R/uLeqVrubzr6+X7AbmEFE="
100100

101+
# random shot in the dark to try to suppress OSX linker assertions seen on
102+
# rust-lang/rust#38878
103+
- LD_PIPELINE_FIFO=true
104+
101105
script:
102106
- >
103107
if [ "$ALLOW_PR" = "" ] && [ "$TRAVIS_BRANCH" != "auto" ]; then

0 commit comments

Comments
 (0)