about summary refs log tree commit diff
diff options
context:
space:
mode:
authorAlex Crichton <alex@alexcrichton.com>2017-01-12 14:58:55 -0800
committerAlex Crichton <alex@alexcrichton.com>2017-01-12 14:59:57 -0800
commit6ae6160e425d146dfba26f4978bdafa5d78fdbd7 (patch)
treecaeeca4aa604f9c41b275177fcc2721b3e9f6c4e
parentb27c7095606ad9386a7038d7af03abd7f948f02f (diff)
travis: Attempt to debug OSX linker segfaults
This commit attempts to debug the segfaults that we've been seeing on OSX on
Travis. I have no idea what's going on here mostly, but let's try to look at
core dumps and get backtraces to see what's going on. This commit itself is
mostly a complete shot in the dark, I'm not sure if this even works...

cc #38878
-rw-r--r--.travis.yml15
1 files changed, 15 insertions, 0 deletions
diff --git a/.travis.yml b/.travis.yml
index 2b5eaecb0b4..eb6d768699b 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -35,27 +35,42 @@ matrix:
         RUST_CONFIGURE_ARGS=--build=x86_64-apple-darwin
         SRC=.
       os: osx
+      before_script: &osx_before_script >
+        ulimit -c unlimited
       install: &osx_install_sccache >
         curl -L https://api.pub.build.mozilla.org/tooltool/sha512/d0025b286468cc5ada83b23d3fafbc936b9f190eaa7d4a981715b18e8e3bf720a7bcee7bfe758cfdeb8268857f6098fd52dcdd8818232692a30ce91039936596 |
           tar xJf - -C /usr/local/bin --strip-components=1
+      after_failure: &osx_after_failure >
+        echo 'bt all' > cmds;
+        for file in $(ls /cores); do
+          echo core file $file;
+          lldb -c $file `which ld` -b -s cmds;
+        done
+
     - env: >
         RUST_CHECK_TARGET=check
         RUST_CONFIGURE_ARGS=--build=i686-apple-darwin
         SRC=.
       os: osx
+      before_script: *osx_before_script
       install: *osx_install_sccache
+      after_failure: *osx_after_failure
     - env: >
         RUST_CHECK_TARGET=check
         RUST_CONFIGURE_ARGS=--build=x86_64-apple-darwin --disable-rustbuild
         SRC=.
       os: osx
+      before_script: *osx_before_script
       install: *osx_install_sccache
+      after_failure: *osx_after_failure
     - env: >
         RUST_CHECK_TARGET=
         RUST_CONFIGURE_ARGS=--target=aarch64-apple-ios,armv7-apple-ios,armv7s-apple-ios,i386-apple-ios,x86_64-apple-ios
         SRC=.
       os: osx
+      before_script: *osx_before_script
       install: *osx_install_sccache
+      after_failure: *osx_after_failure
 
 env:
   global: