[cctbxbb] Boost broken on mac?

richard.gildea at diamond.ac.uk richard.gildea at diamond.ac.uk
Wed Apr 6 08:20:41 PDT 2016


I think this is a problem caused by the latest Xcode 7.3 update, released 2016-03-21 (the date the update was applied according to the App Store update history coincides with the time our mac builds became broken):

https://developer.apple.com/library/ios/releasenotes/DeveloperTools/RN-Xcode/RevisionHistory.html#//apple_ref/doc/uid/TP40001051-CH99-SW1

I have reproduced the issue with the standard cctbx build using the bootstrap script as follows:

$ svn export svn://svn.code.sf.net/p/cctbx/code/trunk/libtbx/auto_build/bootstrap.py
$ python bootstrap.py --builder=cctbx --nproc=8
$ source build/setpaths.sh
$ libtbx.python ../modules/cctbx_project/cctbx/xray/boost_python/tst_xray.py
show_stack(1): ../modules/cctbx_project/cctbx/xray/boost_python/tst_xray.py(381) exercise_conversions
show_stack(2): ../modules/cctbx_project/cctbx/xray/boost_python/tst_xray.py(1993) run
show_stack(3): ../modules/cctbx_project/cctbx/xray/boost_python/tst_xray.py(2009) <module>
libc backtrace (30 frames, most recent call last):
  31  ???                                 0x0000000000000003 0x0 + 3
  30  Python                              0x0000000100000d71 Python + 3441
  29  Python                              0x0000000100000e58 Python + 3672
  28  Python                              0x00000001000ef08f Py_Main + 3135
  27  Python                              0x00000001000d78de PyRun_SimpleFileExFlags + 702
  26  Python                              0x00000001000d7da4 PyRun_FileExFlags + 164
  25  Python                              0x00000001000aea26 PyEval_EvalCode + 54
  24  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
  23  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
  22  Python                              0x00000001000b6ad6 fast_function + 118
  21  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
  20  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
  19  Python                              0x00000001000b6ad6 fast_function + 118
  18  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
  17  Python                              0x00000001000b41b8 PyEval_EvalFrameEx + 19400
  16  Python                              0x0000000100011043 PyObject_Call + 99
  15  Python                              0x000000010006adab type_call + 347
  14  Python                              0x00000001000708cf slot_tp_init + 175
  13  Python                              0x0000000100011043 PyObject_Call + 99
  12  Python                              0x000000010001f0f8 instancemethod_call + 232
  11  Python                              0x0000000100011043 PyObject_Call + 99
  10  libboost_python.dylib               0x0000000101a88663 boost::python::objects::function_call(_object*, _object*, _object*) + 83
  9   libboost_python.dylib               0x0000000101a8ce71 boost::python::handle_exception_impl(boost::function0<void>) + 81
  8   libboost_python.dylib               0x0000000101a889ca boost::detail::function::void_function_ref_invoker0<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::function_buffer&) + 26
  7   libboost_python.dylib               0x0000000101a8693a boost::python::objects::function::call(_object*, _object*) const + 874
  6   cctbx_xray_ext.so                   0x000000010748ba55 boost::python::detail::caller_arity<3u>::impl<void (*)(_object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&), boost::python::default_call_policies, boost::mpl::vector4<void, _object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&> >::operator()(_object*, _object*) + 229
  5   cctbx_xray_ext.so                   0x000000010748f7d4 boost::python::objects::make_holder<2>::apply<boost::python::objects::value_holder<cctbx::xray::array_f_sq_as_f<cctbx::xray::f_sq_as_f_xtal_3_7, double> >, boost::mpl::joint_view<boost::python::detail::drop1<boost::python::detail::type_list<scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, boost::python::optional<double const&, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_>, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_> >, boost::python::optional<double const&, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_> > >::execute(_object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&) + 100
  4   libunwind.dylib                     0x00007fff86be8404 _Unwind_GetRegionStart + 17
  3   libsystem_platform.dylib            0x00007fff89b59eaa _sigtramp + 26
  2   boost_python_meta_ext.so            0x0000000101a413d0 initboost_python_meta_ext + 0
Floating-point error (Python and libc call stacks above)
                This crash may be due to a problem in any imported
                Python module, including modules which are not part
                of the cctbx project. To disable the traps leading
                to this message, define these environment variables
                (e.g. assign the value 1):
                    BOOST_ADAPTBX_FPE_DEFAULT
                    BOOST_ADAPTBX_SIGNALS_DEFAULT
                This will NOT solve the problem, just mask it, but
                may allow you to proceed in case it is not critical.

I have narrowed this down to what looks like a case of compiler over-optimisation at line 41 of cctbx/xray/conversions.h. Replacing:

      if (f_sq > 0) f = std::sqrt(f_sq);
      else f = 0;

with:

      if (f_sq <= 0) {
        f = 0;
      }
      else {
        CCTBX_ASSERT(f_sq > 0);
        f = std::sqrt(f_sq);
      }

Causes the error to disappear.

However there are a number of other errors that are potentially more concerning, including some that result in different output rather than a floating point exception, which will likely be harder to debug:

$ libtbx.run_tests_parallel module=scitbx module=cctbx module=iotbx nproc=8 run_in_tmp_dir=True
Error: the following jobs returned non-zero exit codes or suspicious stderr output:

libtbx.python "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/scitbx/lbfgs/tst_lbfgs_fem.py" [FAIL]
  Time: 14.01
  Return code: 1
  OKs: 0
  Standard error:
    Traceback (most recent call last):
      File "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/scitbx/lbfgs/tst_lbfgs_fem.py", line 159, in <module>
        run(sys.argv[1:])
      File "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/scitbx/lbfgs/tst_lbfgs_fem.py", line 154, in run
        compare_implementations()
      File "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/scitbx/lbfgs/tst_lbfgs_fem.py", line 130, in compare_implementations
        this_script=this_script, n=n, m=m, iprint=[iprint1, iprint2])
      File "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/scitbx/lbfgs/tst_lbfgs_fem.py", line 117, in run_and_compare_implementations
        assert not show_diff(a, b)
    AssertionError
libtbx.python "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/xray/boost_python/tst_xray.py" [FAIL]
  Time:  1.04
  Return code: 1
  OKs: 0
  Standard error:
    show_stack(1): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/xray/boost_python/tst_xray.py(381) exercise_conversions
    show_stack(2): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/xray/boost_python/tst_xray.py(1993) run
    show_stack(3): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/xray/boost_python/tst_xray.py(2009) <module>
    libc backtrace (30 frames, most recent call last):
      31  ???                                 0x0000000000000003 0x0 + 3
      30  Python                              0x0000000100000d71 Python + 3441
      29  Python                              0x0000000100000e58 Python + 3672
      28  Python                              0x00000001000ef08f Py_Main + 3135
      27  Python                              0x00000001000d78de PyRun_SimpleFileExFlags + 702
      26  Python                              0x00000001000d7da4 PyRun_FileExFlags + 164
      25  Python                              0x00000001000aea26 PyEval_EvalCode + 54
      24  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      23  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      22  Python                              0x00000001000b6ad6 fast_function + 118
      21  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      20  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      19  Python                              0x00000001000b6ad6 fast_function + 118
      18  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      17  Python                              0x00000001000b41b8 PyEval_EvalFrameEx + 19400
      16  Python                              0x0000000100011043 PyObject_Call + 99
      15  Python                              0x000000010006adab type_call + 347
      14  Python                              0x00000001000708cf slot_tp_init + 175
      13  Python                              0x0000000100011043 PyObject_Call + 99
      12  Python                              0x000000010001f0f8 instancemethod_call + 232
      11  Python                              0x0000000100011043 PyObject_Call + 99
      10  libboost_python.dylib               0x0000000101e85663 boost::python::objects::function_call(_object*, _object*, _object*) + 83
      9   libboost_python.dylib               0x0000000101e89e71 boost::python::handle_exception_impl(boost::function0<void>) + 81
      8   libboost_python.dylib               0x0000000101e859ca boost::detail::function::void_function_ref_invoker0<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::function_buffer&) + 26
      7   libboost_python.dylib               0x0000000101e8393a boost::python::objects::function::call(_object*, _object*) const + 874
      6   cctbx_xray_ext.so                   0x0000000107c4da55 boost::python::detail::caller_arity<3u>::impl<void (*)(_object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&), boost::python::default_call_policies, boost::mpl::vector4<void, _object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&> >::operator()(_object*, _object*) + 229
      5   cctbx_xray_ext.so                   0x0000000107c517d4 boost::python::objects::make_holder<2>::apply<boost::python::objects::value_holder<cctbx::xray::array_f_sq_as_f<cctbx::xray::f_sq_as_f_xtal_3_7, double> >, boost::mpl::joint_view<boost::python::detail::drop1<boost::python::detail::type_list<scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, boost::python::optional<double const&, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_>, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_> >, boost::python::optional<double const&, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_> > >::execute(_object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&) + 100
      4   ???                                 0x0000000000000005 0x0 + 5
      3   libsystem_platform.dylib            0x00007fff89b59eaa _sigtramp + 26
      2   boost_python_meta_ext.so            0x0000000101e3e3d0 initboost_python_meta_ext + 0
    Floating-point error (Python and libc call stacks above)
                    This crash may be due to a problem in any imported
                    Python module, including modules which are not part
                    of the cctbx project. To disable the traps leading
                    to this message, define these environment variables
                    (e.g. assign the value 1):
                        BOOST_ADAPTBX_FPE_DEFAULT
                        BOOST_ADAPTBX_SIGNALS_DEFAULT
                    This will NOT solve the problem, just mask it, but
                    may allow you to proceed in case it is not critical.
libtbx.python "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/maptbx/boost_python/tst_maptbx.py" [FAIL]
  Time:  4.96
  Return code: 1
  OKs: 0
  Standard error:
    Traceback (most recent call last):
      File "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/maptbx/boost_python/tst_maptbx.py", line 1395, in <module>
        run(args=sys.argv[1:])
      File "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/maptbx/boost_python/tst_maptbx.py", line 1373, in run
        exercise_misc()
      File "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/maptbx/boost_python/tst_maptbx.py", line 365, in exercise_misc
        assert (approx_equal(stats.min, 8.3, eps=0.1))
    AssertionError
libtbx.python "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/regression/tst_miller.py" P31 [FAIL]
  Time: 12.97
  Return code: 1
  OKs: 0
  Standard error:
    show_stack(1): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/miller/__init__.py(2300) f_sq_as_f
    show_stack(2): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/miller/__init__.py(2343) as_amplitude_array
    show_stack(3): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/miller/__init__.py(2276) enforce_positive_amplitudes
    show_stack(4): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/regression/tst_miller.py(197) exercise_enforce_positive_amplitudes
    show_stack(5): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/regression/tst_miller.py(2398) run
    show_stack(6): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/regression/tst_miller.py(2415) <module>
    libc backtrace (38 frames, most recent call last):
      39  Python                              0x0000000100000d71 Python + 3441
      38  Python                              0x0000000100000e58 Python + 3672
      37  Python                              0x00000001000ef08f Py_Main + 3135
      36  Python                              0x00000001000d78de PyRun_SimpleFileExFlags + 702
      35  Python                              0x00000001000d7da4 PyRun_FileExFlags + 164
      34  Python                              0x00000001000aea26 PyEval_EvalCode + 54
      33  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      32  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      31  Python                              0x00000001000b6ad6 fast_function + 118
      30  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      29  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      28  Python                              0x00000001000b6ad6 fast_function + 118
      27  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      26  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      25  Python                              0x00000001000b6ad6 fast_function + 118
      24  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      23  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      22  Python                              0x00000001000b6ad6 fast_function + 118
      21  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      20  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      19  Python                              0x00000001000b6ad6 fast_function + 118
      18  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      17  Python                              0x00000001000b41b8 PyEval_EvalFrameEx + 19400
      16  Python                              0x0000000100011043 PyObject_Call + 99
      15  Python                              0x000000010006adab type_call + 347
      14  Python                              0x00000001000708cf slot_tp_init + 175
      13  Python                              0x0000000100011043 PyObject_Call + 99
      12  Python                              0x000000010001f0f8 instancemethod_call + 232
      11  Python                              0x0000000100011043 PyObject_Call + 99
      10  libboost_python.dylib               0x000000010270f663 boost::python::objects::function_call(_object*, _object*, _object*) + 83
      9   libboost_python.dylib               0x0000000102713e71 boost::python::handle_exception_impl(boost::function0<void>) + 81
      8   libboost_python.dylib               0x000000010270f9ca boost::detail::function::void_function_ref_invoker0<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::function_buffer&) + 26
      7   libboost_python.dylib               0x000000010270d93a boost::python::objects::function::call(_object*, _object*) const + 874
      6   cctbx_xray_ext.so                   0x00000001083e7f7b boost::python::detail::caller_arity<4u>::impl<void (*)(_object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, double const&), boost::python::default_call_policies, boost::mpl::vector5<void, _object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, double const&> >::operator()(_object*, _object*) + 347
      5   cctbx_xray_ext.so                   0x00000001083e7d47 boost::python::objects::make_holder<3>::apply<boost::python::objects::value_holder<cctbx::xray::array_f_sq_as_f<cctbx::xray::f_sq_as_f_xtal_3_7, double> >, boost::mpl::joint_view<boost::python::detail::drop1<boost::python::detail::type_list<scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, boost::python::optional<double const&, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_>, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_> >, boost::python::optional<double const&, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_> > >::execute(_object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, double const&) + 87
      4   ???                                 0x0000000000000000 0x0 + 0
      3   libsystem_platform.dylib            0x00007fff89b59eaa _sigtramp + 26
      2   boost_python_meta_ext.so            0x00000001025813d0 initboost_python_meta_ext + 0
    Floating-point error (Python and libc call stacks above)
                    This crash may be due to a problem in any imported
                    Python module, including modules which are not part
                    of the cctbx project. To disable the traps leading
                    to this message, define these environment variables
                    (e.g. assign the value 1):
                        BOOST_ADAPTBX_FPE_DEFAULT
                        BOOST_ADAPTBX_SIGNALS_DEFAULT
                    This will NOT solve the problem, just mask it, but
                    may allow you to proceed in case it is not critical.
libtbx.python "/Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/iotbx/regression/tst_reflection_file_editor.py" [FAIL]
  Time:  1.64
  Return code: 1
  OKs: 0
  Standard error:
    show_stack(1): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/cctbx/miller/__init__.py(2300) f_sq_as_f
    show_stack(2): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/iotbx/reflection_file_editor.py(1167) modify_experimental_data_array
    show_stack(3): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/iotbx/reflection_file_editor.py(1034) modify_array
    show_stack(4): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/iotbx/reflection_file_editor.py(525) __init__
    show_stack(5): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/iotbx/regression/tst_reflection_file_editor.py(60) run_and_reload
    show_stack(6): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/iotbx/regression/tst_reflection_file_editor.py(67) exercise_basic
    show_stack(7): /Users/rjgildea/tmp/tst_bootstrap/tmp/modules/cctbx_project/iotbx/regression/tst_reflection_file_editor.py(901) <module>
    libc backtrace (48 frames, most recent call last):
      49  ???                                 0x0000000000000003 0x0 + 3
      48  Python                              0x0000000100000d71 Python + 3441
      47  Python                              0x0000000100000e58 Python + 3672
      46  Python                              0x00000001000ef08f Py_Main + 3135
      45  Python                              0x00000001000d78de PyRun_SimpleFileExFlags + 702
      44  Python                              0x00000001000d7da4 PyRun_FileExFlags + 164
      43  Python                              0x00000001000aea26 PyEval_EvalCode + 54
      42  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      41  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      40  Python                              0x00000001000b6ad6 fast_function + 118
      39  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      38  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      37  Python                              0x00000001000b6ad6 fast_function + 118
      36  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      35  Python                              0x00000001000b41b8 PyEval_EvalFrameEx + 19400
      34  Python                              0x0000000100011043 PyObject_Call + 99
      33  Python                              0x000000010006adab type_call + 347
      32  Python                              0x00000001000708cf slot_tp_init + 175
      31  Python                              0x0000000100011043 PyObject_Call + 99
      30  Python                              0x000000010001f0f8 instancemethod_call + 232
      29  Python                              0x0000000100011043 PyObject_Call + 99
      28  Python                              0x0000000100037b7b function_call + 363
      27  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      26  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      25  Python                              0x00000001000b6ad6 fast_function + 118
      24  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      23  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      22  Python                              0x00000001000b6ad6 fast_function + 118
      21  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      20  Python                              0x00000001000b25e8 PyEval_EvalFrameEx + 12280
      19  Python                              0x00000001000b6ad6 fast_function + 118
      18  Python                              0x00000001000af264 PyEval_EvalCodeEx + 2100
      17  Python                              0x00000001000b41b8 PyEval_EvalFrameEx + 19400
      16  Python                              0x0000000100011043 PyObject_Call + 99
      15  Python                              0x000000010006adab type_call + 347
      14  Python                              0x00000001000708cf slot_tp_init + 175
      13  Python                              0x0000000100011043 PyObject_Call + 99
      12  Python                              0x000000010001f0f8 instancemethod_call + 232
      11  Python                              0x0000000100011043 PyObject_Call + 99
      10  libboost_python.dylib               0x0000000101b0f663 boost::python::objects::function_call(_object*, _object*, _object*) + 83
      9   libboost_python.dylib               0x0000000101b13e71 boost::python::handle_exception_impl(boost::function0<void>) + 81
      8   libboost_python.dylib               0x0000000101b0f9ca boost::detail::function::void_function_ref_invoker0<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::function_buffer&) + 26
      7   libboost_python.dylib               0x0000000101b0d93a boost::python::objects::function::call(_object*, _object*) const + 874
      6   cctbx_xray_ext.so                   0x00000001084eef7b boost::python::detail::caller_arity<4u>::impl<void (*)(_object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, double const&), boost::python::default_call_policies, boost::mpl::vector5<void, _object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, double const&> >::operator()(_object*, _object*) + 347
      5   cctbx_xray_ext.so                   0x00000001084eed47 boost::python::objects::make_holder<3>::apply<boost::python::objects::value_holder<cctbx::xray::array_f_sq_as_f<cctbx::xray::f_sq_as_f_xtal_3_7, double> >, boost::mpl::joint_view<boost::python::detail::drop1<boost::python::detail::type_list<scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, boost::python::optional<double const&, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_>, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_> >, boost::python::optional<double const&, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_> > >::execute(_object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, double const&) + 87
      4   ???                                 0x000000010a526948 0x0 + 4468140360
      3   libsystem_platform.dylib            0x00007fff89b59eaa _sigtramp + 26
      2   boost_python_meta_ext.so            0x00000001019413d0 initboost_python_meta_ext + 0
    Floating-point error (Python and libc call stacks above)
                    This crash may be due to a problem in any imported
                    Python module, including modules which are not part
                    of the cctbx project. To disable the traps leading
                    to this message, define these environment variables
                    (e.g. assign the value 1):
                        BOOST_ADAPTBX_FPE_DEFAULT
                        BOOST_ADAPTBX_SIGNALS_DEFAULT
                    This will NOT solve the problem, just mask it, but
                    may allow you to proceed in case it is not critical.

Please verify these tests manually.

Summary:
  Tests run                    : 336
  Failures                     : 5
  Warnings (possible failures) : 0
  Stderr output (discouraged)  : 5

See run_tests_parallel_zlog for full output.

In particular, there is different output for the lbfgs comparisons to the fortran implementation (fortran output remains same, both raw and raw_reference cpp outputs differ from fortran):

$ scitbx.python "/Users/rjgildea/tmp/tst_bootstrap/modules/cctbx_project/scitbx/lbfgs/tst_lbfgs_fem.py" fortran 14 2 2 0
*************************************************
  N=   14   NUMBER OF CORRECTIONS= 2
       INITIAL VALUES
 F=  1.694D+02   GNORM=  6.161D+02
*************************************************

   I   NFN    FUNC        GNORM       STEPLENGTH

   1    2     1.476D+02   4.302D+02   1.623D-03
   3    4     2.908D+01   2.874D+01   1.000D+00
   5    8     2.826D+01   9.851D+00   2.100D+01
   7   10     2.494D+01   4.485D+01   1.000D+00
   9   17     5.456D+00   6.382D+00   1.406D+00
  11   20     4.682D+00   4.658D+00   1.000D+00
  13   23     3.360D+00   2.641D+01   1.000D+00
  15   25     1.727D+00   2.826D+00   1.000D+00
  17   28     1.291D+00   1.311D+01   1.000D+00
  19   31     5.774D-01   7.928D+00   4.048D-01
  21   33     3.185D-01   1.783D+01   1.000D+00
  23   35     6.065D-02   3.459D+00   1.000D+00
  25   37     2.849D-02   3.223D+00   1.000D+00
  27   40     1.306D-02   1.305D-01   6.670D-02
  29   42     2.974D-04   6.588D-01   1.000D+00
  31   45     1.823D-06   1.125D-02   1.000D+00
  33   48     5.604D-10   1.497D-04   2.447D-02
  34   49     5.059D-15   4.741D-07   1.000D+00

 THE MINIMIZATION TERMINATED WITHOUT DETECTING ERRORS.
 IFLAG = 0

$ scitbx.python "/Users/rjgildea/tmp/tst_bootstrap/modules/cctbx_project/scitbx/lbfgs/tst_lbfgs_fem.py" raw 14 2 2 0
*************************************************
  N=   14   NUMBER OF CORRECTIONS= 2
       INITIAL VALUES
 F=  1.694E+02   GNORM=  6.161E+02
*************************************************

   I   NFN    FUNC        GNORM       STEPLENGTH

   1    2     1.476E+02   4.302E+02   1.623E-03
   3    4     2.908E+01   2.874E+01   1.000E+00
   5    8     2.826E+01   9.851E+00   2.100E+01
   7   10     2.494E+01   4.485E+01   1.000E+00
   9   17     5.456E+00   6.382E+00   1.406E+00
  11   20     4.682E+00   4.658E+00   1.000E+00
  13   23     3.360E+00   2.641E+01   1.000E+00
  15   25     1.727E+00   2.826E+00   1.000E+00
  17   28     1.291E+00   1.311E+01   1.000E+00
  19   31     5.774E-01   7.928E+00   4.048E-01
  21   33     3.185E-01   1.783E+01   1.000E+00
  23   35     6.065E-02   3.459E+00   1.000E+00
  25   37     2.849E-02   3.223E+00   1.000E+00
  27   40     1.306E-02   1.305E-01   6.670E-02
  29   42     2.974E-04   6.588E-01   1.000E+00
  31   45     1.823E-06   1.125E-02   1.000E+00
  33   48     5.603E-10   1.498E-04   2.447E-02
  34   49     5.060E-15   4.757E-07   1.000E+00

 THE MINIMIZATION TERMINATED WITHOUT DETECTING ERRORS.
 IFLAG = 0

$ scitbx.python "/Users/rjgildea/tmp/tst_bootstrap/modules/cctbx_project/scitbx/lbfgs/tst_lbfgs_fem.py" raw_reference 14 2 2 0
*************************************************
  N=   14   NUMBER OF CORRECTIONS= 2
       INITIAL VALUES
 F=  1.694E+02   GNORM=  6.161E+02
*************************************************

   I   NFN    FUNC        GNORM       STEPLENGTH

   1    2     1.476E+02   4.302E+02   1.623E-03
   3    4     2.908E+01   2.874E+01   1.000E+00
   5    8     2.826E+01   9.851E+00   2.100E+01
   7   10     2.494E+01   4.485E+01   1.000E+00
   9   17     5.456E+00   6.382E+00   1.406E+00
  11   20     4.682E+00   4.658E+00   1.000E+00
  13   23     3.360E+00   2.641E+01   1.000E+00
  15   25     1.727E+00   2.826E+00   1.000E+00
  17   28     1.291E+00   1.311E+01   1.000E+00
  19   31     5.774E-01   7.928E+00   4.048E-01
  21   33     3.185E-01   1.783E+01   1.000E+00
  23   35     6.065E-02   3.459E+00   1.000E+00
  25   37     2.849E-02   3.223E+00   1.000E+00
  27   40     1.306E-02   1.305E-01   6.670E-02
  29   42     2.974E-04   6.588E-01   1.000E+00
  31   45     1.823E-06   1.125E-02   1.000E+00
  33   48     5.603E-10   1.498E-04   2.447E-02
  34   49     5.060E-15   4.757E-07   1.000E+00

 THE MINIMIZATION TERMINATED WITHOUT DETECTING ERRORS.
 IFLAG = 0

Testing on Linux, the raw and raw_reference give identical output to the fortran output above. Does anyone have any ideas how best to resolve these issues?

Cheers,

Richard


On 24 Mar 2016, at 15:28, Nigel Moriarty <nwmoriarty at lbl.gov<mailto:nwmoriarty at lbl.gov>> wrote:

Markus

It seems a little odd that Boost is the problem because it has not changed for a very long time. In my experience, this usually means that the code using Boost has a memory leak.

Cheers

Nigel

---
Nigel W. Moriarty
Building 33R0349, Physical Biosciences Division
Lawrence Berkeley National Laboratory
Berkeley, CA 94720-8235
Phone : 510-486-5709<tel:510-486-5709>     Email : NWMoriarty at LBL.gov<mailto:NWMoriarty at lbl.gov>
Fax   : 510-486-5909<tel:510-486-5909>       Web  : CCI.LBL.gov<http://cci.lbl.gov/>

On Thu, Mar 24, 2016 at 8:05 AM, <markus.gerstel at diamond.ac.uk<mailto:markus.gerstel at diamond.ac.uk>> wrote:
Dials west is currently observing test failures on Mac related to Boost.
To exclude any errors on our side I have run things twice clean from bootstrap:
One of a number of affected tests:

libtbx.python cctbx/xray/boost_python/tst_xray.py

show_stack(1): /Users/dlshudson/jenkins_slave/workspace/dials_package_macosx/build_dials/modules/cctbx_project/cctbx/xray/boost_python/tst_xray.py(381) exercise_conversions
show_stack(2): /Users/dlshudson/jenkins_slave/workspace/dials_package_macosx/build_dials/modules/cctbx_project/cctbx/xray/boost_python/tst_xray.py(1993) run
show_stack(3): /Users/dlshudson/jenkins_slave/workspace/dials_package_macosx/build_dials/modules/cctbx_project/cctbx/xray/boost_python/tst_xray.py(2009) <module>
libc backtrace (29 frames, most recent call last):
  30  Python                              0x0000000100000d71 Python + 3441
  29  Python                              0x0000000100000e58 Python + 3672
  28  Python                              0x00000001000ef06f Py_Main + 3135
  27  Python                              0x00000001000d78be PyRun_SimpleFileExFlags + 702
  26  Python                              0x00000001000d7d84 PyRun_FileExFlags + 164
  25  Python                              0x00000001000aea06 PyEval_EvalCode + 54
  24  Python                              0x00000001000af244 PyEval_EvalCodeEx + 2100
  23  Python                              0x00000001000b25c8 PyEval_EvalFrameEx + 12280
  22  Python                              0x00000001000b6ab6 fast_function + 118
  21  Python                              0x00000001000af244 PyEval_EvalCodeEx + 2100
  20  Python                              0x00000001000b25c8 PyEval_EvalFrameEx + 12280
  19  Python                              0x00000001000b6ab6 fast_function + 118
  18  Python                              0x00000001000af244 PyEval_EvalCodeEx + 2100
  17  Python                              0x00000001000b4198 PyEval_EvalFrameEx + 19400
  16  Python                              0x0000000100011023 PyObject_Call + 99
 15  Python                              0x000000010006ad8b type_call + 347
  14  Python                              0x00000001000708af slot_tp_init + 175
  13  Python                              0x0000000100011023 PyObject_Call + 99
  12  Python                              0x000000010001f0d8 instancemethod_call + 232
  11  Python                              0x0000000100011023 PyObject_Call + 99
  10  libboost_python.dylib               0x0000000101888663 boost::python::objects::function_call(_object*, _object*, _object*) + 83
  9   libboost_python.dylib               0x000000010188ce71 boost::python::handle_exception_impl(boost::function0<void>) + 81
  8   libboost_python.dylib               0x00000001018889ca boost::detail::function::void_function_ref_invoker0<boost::python::objects::(anonymous namespace)::bind_return, void>::invoke(boost::detail::function::function_buffer&) + 26
  7   libboost_python.dylib               0x000000010188693a boost::python::objects::function::call(_object*, _object*) const + 874
  6   cctbx_xray_ext.so                   0x0000000107c8e1c5 boost::python::detail::caller_arity<3u>::impl<void (*)(_object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&), boost::python::default_call_policies, boost::mpl::vector4<void, _object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&> >::operator()(_object*, _object*) + 229
  5   cctbx_xray_ext.so                   0x0000000107c91f44 boost::python::objects::make_holder<2>::apply<boost::python::objects::value_holder<cctbx::xray::array_f_sq_as_f<cctbx::xray::f_sq_as_f_xtal_3_7, double> >, boost::mpl::joint_view<boost::python::detail::drop1<boost::python::detail::type_list<scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, boost::python::optional<double const&, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_>, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_> >, boost::python::optional<double const&, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_, mpl_::void_> > >::execute(_object*, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&, scitbx::af::const_ref<double, scitbx::af::trivial_accessor> const&) + 100
  4   ???                                 0x0000000000000002 0x0 + 2
  3   libsystem_platform.dylib            0x00007fff8caabeaa _sigtramp + 26
  2   boost_python_meta_ext.so            0x0000000101841370 initboost_python_meta_ext + 0
Floating-point error (Python and libc call stacks above)
                This crash may be due to a problem in any imported
                Python module, including modules which are not part
                of the cctbx project. To disable the traps leading
                to this message, define these environment variables
                (e.g. assign the value 1):
                    BOOST_ADAPTBX_FPE_DEFAULT
                    BOOST_ADAPTBX_SIGNALS_DEFAULT
                This will NOT solve the problem, just mask it, but
                may allow you to proceed in case it is not critical.


Any ideas?

Best wishes,
-Markus


--

This e-mail and any attachments may contain confidential, copyright and or privileged material, and are for the use of the intended addressee only. If you are not the intended addressee or an authorised recipient of the addressee please notify us of receipt by returning the e-mail and do not use, copy, retain, distribute or disclose the information in or attached to the e-mail.
Any opinions expressed within this e-mail are those of the individual and not necessarily of Diamond Light Source Ltd.
Diamond Light Source Ltd. cannot guarantee that this e-mail or any attachments are free from viruses and we cannot accept liability for any damage which you may sustain as a result of software viruses which may be transmitted in or with the message.
Diamond Light Source Limited (company no. 4375679). Registered in England and Wales with its registered office at Diamond House, Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, United Kingdom


_______________________________________________
cctbxbb mailing list
cctbxbb at phenix-online.org<mailto:cctbxbb at phenix-online.org>
http://phenix-online.org/mailman/listinfo/cctbxbb


_______________________________________________
cctbxbb mailing list
cctbxbb at phenix-online.org<mailto:cctbxbb at phenix-online.org>
http://phenix-online.org/mailman/listinfo/cctbxbb




More information about the cctbxbb mailing list