AppleClang (in Xcode 10.0) also fails, so we're sure it's not a compiler issue. Here's a log report when using an Address Sanitizer:
Running 3 test cases...
Will read basis set from /usr/local/libint/2.3.1/share/libint/2.3.1/basis/sto-3g.g94
==6940==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x60400005a9e0 in thread T0
#0 0x101a7e10d in wrap_free (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x5710d)
#1 0x1001f9af4 in Eigen::internal::aligned_free(void*) Memory.h:177
#2 0x1001f9ad4 in void Eigen::internal::conditional_aligned_free(void*) Memory.h:230
#3 0x1001f9a7b in void Eigen::internal::conditional_aligned_delete_auto<double, true>(double*, unsigned long) Memory.h:416
#4 0x1001fdcc6 in Eigen::DenseStorage<double, -1, -1, 1, 0>::~DenseStorage() DenseStorage.h:542
#5 0x1001fdc34 in Eigen::DenseStorage<double, -1, -1, 1, 0>::~DenseStorage() DenseStorage.h:542
#6 0x1001fdc14 in Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> >::~PlainObjectBase() PlainObjectBase.h:98
#7 0x1001fdbf4 in Eigen::Matrix<double, -1, 1, 0, -1, 1>::~Matrix() Matrix.h:178
#8 0x1000ced24 in Eigen::Matrix<double, -1, 1, 0, -1, 1>::~Matrix() Matrix.h:178
#9 0x1001fdbb8 in GQCG::AP1roGGeminalCoefficients::~AP1roGGeminalCoefficients() AP1roGGeminalCoefficients.hpp:11
#10 0x1000cec14 in GQCG::AP1roGGeminalCoefficients::~AP1roGGeminalCoefficients() AP1roGGeminalCoefficients.hpp:11
#11 0x1001f97d4 in GQCG::AP1roGPSESolver::~AP1roGPSESolver() AP1roGPSESolver.hpp:15
#12 0x1000c84c4 in GQCG::AP1roGPSESolver::~AP1roGPSESolver() AP1roGPSESolver.hpp:15
#13 0x1000c8140 in constructor::test_method() AP1roGPSESolver_test.cpp:23
#14 0x1000c7117 in constructor_invoker() AP1roGPSESolver_test.cpp:14
#15 0x10028e729 in boost::detail::function::void_function_invoker0<void ()(), void>::invoke(boost::detail::function::function_buffer&) function_template.hpp:118
#16 0x10026450e in boost::function0::operator()() const function_template.hpp:759
#17 0x10026436a in boost::detail::forward::operator()() execution_monitor.ipp:1300
#18 0x10026384c in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) function_template.hpp:138
#19 0x10026255e in boost::function0::operator()() const function_template.hpp:759
#20 0x10005abed in int boost::detail::do_invoke<boost::shared_ptrboost::detail::translator_holder_base, boost::function<int ()> >(boost::shared_ptrboost::detail::translator_holder_base const&, boost::function<int ()> const&) execution_monitor.ipp:281
#21 0x10005a563 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) execution_monitor.ipp:864
#22 0x10005b1ba in boost::execution_monitor::execute(boost::function<int ()> const&) execution_monitor.ipp:1203
#23 0x100035a62 in boost::execution_monitor::vexecute(boost::function<void ()> const&) execution_monitor.ipp:1309
#24 0x100046ea4 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned int) unit_test_monitor.ipp:46
#25 0x1000526d9 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const) framework.ipp:771
#26 0x10004f19a in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) framework.ipp:717
#27 0x100044e40 in boost::unit_test::framework::run(unsigned long, bool) framework.ipp:1577
#28 0x1000a1556 in boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) unit_test_main.ipp:231
#29 0x1000a1eb0 in main unit_test_main.ipp:286
#30 0x7fff6f618084 in start (libdyld.dylib:x86_64+0x17084)
0x60400005a9e0 is located 16 bytes inside of 40-byte region [0x60400005a9d0,0x60400005a9f8)
allocated by thread T0 here:
#0 0x101a7df53 in wrap_malloc (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x56f53)
#1 0x100328329 in GQCG::AP1roGPSESolver::AP1roGPSESolver(unsigned long, GQCG::HamiltonianParameters const&, GQCG::AP1roGGeminalCoefficients const&) Memory.h:88
#2 0x100328889 in GQCG::AP1roGPSESolver::AP1roGPSESolver(unsigned long, GQCG::HamiltonianParameters const&) AP1roGPSESolver.cpp:19
#3 0x1000c8132 in constructor::test_method() AP1roGPSESolver_test.cpp:22
#4 0x1000c7117 in constructor_invoker() AP1roGPSESolver_test.cpp:14
#5 0x10028e729 in boost::detail::function::void_function_invoker0<void ()(), void>::invoke(boost::detail::function::function_buffer&) function_template.hpp:118
#6 0x10026450e in boost::function0::operator()() const function_template.hpp:759
#7 0x10026436a in boost::detail::forward::operator()() execution_monitor.ipp:1300
#8 0x10026384c in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) function_template.hpp:138
#9 0x10026255e in boost::function0::operator()() const function_template.hpp:759
#10 0x10005abed in int boost::detail::do_invoke<boost::shared_ptrboost::detail::translator_holder_base, boost::function<int ()> >(boost::shared_ptrboost::detail::translator_holder_base const&, boost::function<int ()> const&) execution_monitor.ipp:281
#11 0x10005a563 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) execution_monitor.ipp:864
#12 0x10005b1ba in boost::execution_monitor::execute(boost::function<int ()> const&) execution_monitor.ipp:1203
#13 0x100035a62 in boost::execution_monitor::vexecute(boost::function<void ()> const&) execution_monitor.ipp:1309
#14 0x100046ea4 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned int) unit_test_monitor.ipp:46
#15 0x1000526d9 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const) framework.ipp:771
#16 0x10004f19a in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) framework.ipp:717
#17 0x100044e40 in boost::unit_test::framework::run(unsigned long, bool) framework.ipp:1577
#18 0x1000a1556 in boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) unit_test_main.ipp:231
#19 0x1000a1eb0 in main unit_test_main.ipp:286
#20 0x7fff6f618084 in start (libdyld.dylib:x86_64+0x17084)
SUMMARY: AddressSanitizer: bad-free (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x5710d) in wrap_free
2018-10-18 13:27:24.930903+0200 AP1roGPSESolver_test[6940:9758680] =================================================================
2018-10-18 13:27:24.930975+0200 AP1roGPSESolver_test[6940:9758680] ==6940==ERROR: AddressSanitizer: attempting free on address which was not malloc()-ed: 0x60400005a9e0 in thread T0
2018-10-18 13:27:24.930987+0200 AP1roGPSESolver_test[6940:9758680] #0 0x101a7e10d in wrap_free (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x5710d)
2018-10-18 13:27:24.931003+0200 AP1roGPSESolver_test[6940:9758680] #1 0x1001f9af4 in Eigen::internal::aligned_free(void*) Memory.h:177
2018-10-18 13:27:24.931012+0200 AP1roGPSESolver_test[6940:9758680] #2 0x1001f9ad4 in void Eigen::internal::conditional_aligned_free(void*) Memory.h:230
2018-10-18 13:27:24.931021+0200 AP1roGPSESolver_test[6940:9758680] #3 0x1001f9a7b in void Eigen::internal::conditional_aligned_delete_auto<double, true>(double*, unsigned long) Memory.h:416
2018-10-18 13:27:24.931030+0200 AP1roGPSESolver_test[6940:9758680] #4 0x1001fdcc6 in Eigen::DenseStorage<double, -1, -1, 1, 0>::~DenseStorage() DenseStorage.h:542
2018-10-18 13:27:24.931039+0200 AP1roGPSESolver_test[6940:9758680] #5 0x1001fdc34 in Eigen::DenseStorage<double, -1, -1, 1, 0>::~DenseStorage() DenseStorage.h:542
2018-10-18 13:27:24.931148+0200 AP1roGPSESolver_test[6940:9758680] #6 0x1001fdc14 in Eigen::PlainObjectBase<Eigen::Matrix<double, -1, 1, 0, -1, 1> >::~PlainObjectBase() PlainObjectBase.h:98
2018-10-18 13:27:24.931159+0200 AP1roGPSESolver_test[6940:9758680] #7 0x1001fdbf4 in Eigen::Matrix<double, -1, 1, 0, -1, 1>::~Matrix() Matrix.h:178
2018-10-18 13:27:24.931168+0200 AP1roGPSESolver_test[6940:9758680] #8 0x1000ced24 in Eigen::Matrix<double, -1, 1, 0, -1, 1>::~Matrix() Matrix.h:178
2018-10-18 13:27:24.931176+0200 AP1roGPSESolver_test[6940:9758680] #9 0x1001fdbb8 in GQCG::AP1roGGeminalCoefficients::~AP1roGGeminalCoefficients() AP1roGGeminalCoefficients.hpp:11
2018-10-18 13:27:24.931185+0200 AP1roGPSESolver_test[6940:9758680] #10 0x1000cec14 in GQCG::AP1roGGeminalCoefficients::~AP1roGGeminalCoefficients() AP1roGGeminalCoefficients.hpp:11
2018-10-18 13:27:24.931193+0200 AP1roGPSESolver_test[6940:9758680] #11 0x1001f97d4 in GQCG::AP1roGPSESolver::~AP1roGPSESolver() AP1roGPSESolver.hpp:15
2018-10-18 13:27:24.931276+0200 AP1roGPSESolver_test[6940:9758680] #12 0x1000c84c4 in GQCG::AP1roGPSESolver::~AP1roGPSESolver() AP1roGPSESolver.hpp:15
2018-10-18 13:27:24.931285+0200 AP1roGPSESolver_test[6940:9758680] #13 0x1000c8140 in constructor::test_method() AP1roGPSESolver_test.cpp:23
2018-10-18 13:27:24.931293+0200 AP1roGPSESolver_test[6940:9758680] #14 0x1000c7117 in constructor_invoker() AP1roGPSESolver_test.cpp:14
2018-10-18 13:27:24.931303+0200 AP1roGPSESolver_test[6940:9758680] #15 0x10028e729 in boost::detail::function::void_function_invoker0<void ()(), void>::invoke(boost::detail::function::function_buffer&) function_template.hpp:118
2018-10-18 13:27:24.931312+0200 AP1roGPSESolver_test[6940:9758680] #16 0x10026450e in boost::function0::operator()() const function_template.hpp:759
2018-10-18 13:27:24.931320+0200 AP1roGPSESolver_test[6940:9758680] #17 0x10026436a in boost::detail::forward::operator()() execution_monitor.ipp:1300
2018-10-18 13:27:24.931419+0200 AP1roGPSESolver_test[6940:9758680] #18 0x10026384c in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) function_template.hpp:138
2018-10-18 13:27:24.931428+0200 AP1roGPSESolver_test[6940:9758680] #19 0x10026255e in boost::function0::operator()() const function_template.hpp:759
2018-10-18 13:27:24.931437+0200 AP1roGPSESolver_test[6940:9758680] #20 0x10005abed in int boost::detail::do_invoke<boost::shared_ptrboost::detail::translator_holder_base, boost::function<int ()> >(boost::shared_ptrboost::detail::translator_holder_base const&, boost::function<int ()> const&) execution_monitor.ipp:281
2018-10-18 13:27:24.931447+0200 AP1roGPSESolver_test[6940:9758680] #21 0x10005a563 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) execution_monitor.ipp:864
2018-10-18 13:27:24.931456+0200 AP1roGPSESolver_test[6940:9758680] #22 0x10005b1ba in boost::execution_monitor::execute(boost::function<int ()> const&) execution_monitor.ipp:1203
2018-10-18 13:27:24.931579+0200 AP1roGPSESolver_test[6940:9758680] #23 0x100035a62 in boost::execution_monitor::vexecute(boost::function<void ()> const&) execution_monitor.ipp:1309
2018-10-18 13:27:24.931598+0200 AP1roGPSESolver_test[6940:9758680] #24 0x100046ea4 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned int) unit_test_monitor.ipp:46
2018-10-18 13:27:24.931650+0200 AP1roGPSESolver_test[6940:9758680] #25 0x1000526d9 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const) framework.ipp:771
2018-10-18 13:27:24.931665+0200 AP1roGPSESolver_test[6940:9758680] #26 0x10004f19a in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) framework.ipp:717
2018-10-18 13:27:24.931732+0200 AP1roGPSESolver_test[6940:9758680] #27 0x100044e40 in boost::unit_test::framework::run(unsigned long, bool) framework.ipp:1577
2018-10-18 13:27:24.931778+0200 AP1roGPSESolver_test[6940:9758680] #28 0x1000a1556 in boost::unit_test::unit_test_main(boost::unit_test::test_suite* ()(int, char**), int, char**) unit_test_main.ipp:231
2018-10-18 13:27:24.931798+0200 AP1roGPSESolver_test[6940:9758680] #29 0x1000a1eb0 in main unit_test_main.ipp:286
2018-10-18 13:27:24.931808+0200 AP1roGPSESolver_test[6940:9758680] #30 0x7fff6f618084 in start (libdyld.dylib:x86_64+0x17084)
2018-10-18 13:27:24.931816+0200 AP1roGPSESolver_test[6940:9758680]
2018-10-18 13:27:24.931823+0200 AP1roGPSESolver_test[6940:9758680] 0x60400005a9e0 is located 16 bytes inside of 40-byte region [0x60400005a9d0,0x60400005a9f8)
2018-10-18 13:27:24.931832+0200 AP1roGPSESolver_test[6940:9758680] allocated by thread T0 here:
2018-10-18 13:27:24.931841+0200 AP1roGPSESolver_test[6940:9758680] #0 0x101a7df53 in wrap_malloc (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x56f53)
2018-10-18 13:27:24.931850+0200 AP1roGPSESolver_test[6940:9758680] #1 0x100328329 in GQCG::AP1roGPSESolver::AP1roGPSESolver(unsigned long, GQCG::HamiltonianParameters const&, GQCG::AP1roGGeminalCoefficients const&) Memory.h:88
2018-10-18 13:27:24.931859+0200 AP1roGPSESolver_test[6940:9758680] #2 0x100328889 in GQCG::AP1roGPSESolver::AP1roGPSESolver(unsigned long, GQCG::HamiltonianParameters const&) AP1roGPSESolver.cpp:19
2018-10-18 13:27:24.931868+0200 AP1roGPSESolver_test[6940:9758680] #3 0x1000c8132 in constructor::test_method() AP1roGPSESolver_test.cpp:22
2018-10-18 13:27:24.931876+0200 AP1roGPSESolver_test[6940:9758680] #4 0x1000c7117 in constructor_invoker() AP1roGPSESolver_test.cpp:14
2018-10-18 13:27:24.931953+0200 AP1roGPSESolver_test[6940:9758680] #5 0x10028e729 in boost::detail::function::void_function_invoker0<void ()(), void>::invoke(boost::detail::function::function_buffer&) function_template.hpp:118
2018-10-18 13:27:24.931968+0200 AP1roGPSESolver_test[6940:9758680] #6 0x10026450e in boost::function0::operator()() const function_template.hpp:759
2018-10-18 13:27:24.931977+0200 AP1roGPSESolver_test[6940:9758680] #7 0x10026436a in boost::detail::forward::operator()() execution_monitor.ipp:1300
2018-10-18 13:27:24.931986+0200 AP1roGPSESolver_test[6940:9758680] #8 0x10026384c in boost::detail::function::function_obj_invoker0<boost::detail::forward, int>::invoke(boost::detail::function::function_buffer&) function_template.hpp:138
2018-10-18 13:27:24.931994+0200 AP1roGPSESolver_test[6940:9758680] #9 0x10026255e in boost::function0::operator()() const function_template.hpp:759
2018-10-18 13:27:24.932096+0200 AP1roGPSESolver_test[6940:9758680] #10 0x10005abed in int boost::detail::do_invoke<boost::shared_ptrboost::detail::translator_holder_base, boost::function<int ()> >(boost::shared_ptrboost::detail::translator_holder_base const&, boost::function<int ()> const&) execution_monitor.ipp:281
2018-10-18 13:27:24.932108+0200 AP1roGPSESolver_test[6940:9758680] #11 0x10005a563 in boost::execution_monitor::catch_signals(boost::function<int ()> const&) execution_monitor.ipp:864
2018-10-18 13:27:24.932125+0200 AP1roGPSESolver_test[6940:9758680] #12 0x10005b1ba in boost::execution_monitor::execute(boost::function<int ()> const&) execution_monitor.ipp:1203
2018-10-18 13:27:24.932135+0200 AP1roGPSESolver_test[6940:9758680] #13 0x100035a62 in boost::execution_monitor::vexecute(boost::function<void ()> const&) execution_monitor.ipp:1309
2018-10-18 13:27:24.932144+0200 AP1roGPSESolver_test[6940:9758680] #14 0x100046ea4 in boost::unit_test::unit_test_monitor_t::execute_and_translate(boost::function<void ()> const&, unsigned int) unit_test_monitor.ipp:46
2018-10-18 13:27:24.932230+0200 AP1roGPSESolver_test[6940:9758680] #15 0x1000526d9 in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) framework.ipp:771
2018-10-18 13:27:24.932239+0200 AP1roGPSESolver_test[6940:9758680] #16 0x10004f19a in boost::unit_test::framework::state::execute_test_tree(unsigned long, unsigned int, boost::unit_test::framework::state::random_generator_helper const*) framework.ipp:717
2018-10-18 13:27:24.932251+0200 AP1roGPSESolver_test[6940:9758680] #17 0x100044e40 in boost::unit_test::framework::run(unsigned long, bool) framework.ipp:1577
2018-10-18 13:27:24.932260+0200 AP1roGPSESolver_test[6940:9758680] #18 0x1000a1556 in boost::unit_test::unit_test_main(boost::unit_test::test_suite* (*)(int, char**), int, char**) unit_test_main.ipp:231
2018-10-18 13:27:24.932291+0200 AP1roGPSESolver_test[6940:9758680] #19 0x1000a1eb0 in main unit_test_main.ipp:286
2018-10-18 13:27:24.932384+0200 AP1roGPSESolver_test[6940:9758680] #20 0x7fff6f618084 in start (libdyld.dylib:x86_64+0x17084)
2018-10-18 13:27:24.932397+0200 AP1roGPSESolver_test[6940:9758680]
2018-10-18 13:27:24.932405+0200 AP1roGPSESolver_test[6940:9758680] SUMMARY: AddressSanitizer: bad-free (libclang_rt.asan_osx_dynamic.dylib:x86_64h+0x5710d) in wrap_free
2018-10-18 13:27:24.932414+0200 AP1roGPSESolver_test[6940:9758680]
==6940==ABORTING