[isabelle-dev] Segmentation faults

Makarius makarius at sketis.net
Wed May 29 11:42:05 CEST 2013


On Wed, 29 May 2013, Makarius wrote:

>> He thought perhaps the libraries could be interfering.
>
> The Mac OS X crash report should tell you about the shared libraries that 
> were used in the failed process.
>
> There is also "otool -L" to check that statically on the executable, but I am 
> unsure if it is exactly that.  E.g. for polyml-5.5.0-3/x86-darwin/poly from 
> our Isabelle component it always shows the location where the binary was 
> compiled originally, regardless of DYLD_LIBRARY_PATH at run-time.

Here is another approach to get this information: 
DYLD_PRINT_LIBRARIES=true before the executable is run.

See the included ch-test to change lib/scripts/run-polyml accordingly. The 
result looks like this on my Mountain Lion:

   $ isabelle tty
   dyld: loaded: /Volumes/Macintosh_HD/Users/makarius/.isabelle/contrib/polyml-5.5.0-3/x86-darwin/poly
   dyld: loaded: /Volumes/Macintosh_HD/Users/makarius/.isabelle/contrib/polyml-5.5.0-3/x86-darwin/libpolyml.4.dylib
   dyld: loaded: /usr/lib/libSystem.B.dylib
   dyld: loaded: /usr/lib/libstdc++.6.dylib
   dyld: loaded: /usr/lib/system/libcache.dylib
   dyld: loaded: /usr/lib/system/libcommonCrypto.dylib
   dyld: loaded: /usr/lib/system/libcompiler_rt.dylib
   ...


 	Makarius
-------------- next part --------------
# HG changeset patch
# User wenzelm
# Date 1369820188 -7200
# Node ID 6c3763f05f59feecc81f31f4818abdbbe9468cd9
# Parent  c8ee9c0a3a648eee62f7f25b541a8cdf38cd1c96
test;

diff -r c8ee9c0a3a64 -r 6c3763f05f59 lib/scripts/run-polyml
--- a/lib/scripts/run-polyml	Wed May 29 11:06:38 2013 +0200
+++ b/lib/scripts/run-polyml	Wed May 29 11:36:28 2013 +0200
@@ -41,7 +41,6 @@
 
 librarypath "$POLYLIB"
 
-
 ## prepare databases
 
 if [ -z "$INFILE" ]; then
@@ -74,7 +73,7 @@
 fi
 
 "$ISABELLE_HOME/lib/scripts/feeder" -p -h "$MLTEXT" -t "$MLEXIT" $FEEDER_OPTS | \
-  { read FPID; "$POLY" -q $ML_OPTIONS; RC="$?"; kill -TERM "$FPID"; exit "$RC"; }
+  { read FPID; env DYLD_PRINT_LIBRARIES=true "$POLY" -q $ML_OPTIONS; RC="$?"; kill -TERM "$FPID"; exit "$RC"; }
 RC="$?"
 
 [ -n "$OUTFILE" -a -f "$OUTFILE" -a -n "$NOWRITE" ] && chmod -w "$OUTFILE"


More information about the isabelle-dev mailing list