[cctbxbb] Boost broken on mac?

Hattne, Johan hattnej at janelia.hhmi.org
Wed Apr 6 08:33:07 PDT 2016


Does the problem go away with less aggressive optimization?  If I recall correctly this is built with -O3 by default, which I don’t think is actually guaranteed not to break your code.

// Johan

> On Apr 6, 2016, at 11:20, richard.gildea at diamond.ac.uk wrote:
> 
> 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
> 
> 
> _______________________________________________
> cctbxbb mailing list
> cctbxbb at phenix-online.org
> http://phenix-online.org/mailman/listinfo/cctbxbb

          Research Specialist @ Gonen Lab
____________________________________________________
    Janelia Research Campus * 19700 Helix Drive
Ashburn, VA 20147 * +1 (571) 209-4000 extension 3376




More information about the cctbxbb mailing list