CCSD calculations on the N and F atoms result in segmentation faults for me (gcc 4.8.1, boost 1.53, python 3.3.2). I used the input file:
molecule f {
f 0.00 0.00 0.00
}
set basis cc-pVTZ
set scf reference uhf
energy('ccsd')
(and similarly for N). I tried increasing the memory and changing basis set to no avail (some basis sets caused a back trace rather than just a segmentation fault).
Curiously CCSD calculations with a UHF reference on the rest of the period 2 atoms ran without a problem.
Running psi4 through gdb and the backtraces indicate the problem is with freeing an invalid pointer when closing a dpd buffer in ccenergy/pair_energies.cc.
(gdb) where
#0 0x00007ffff45e62a4 in free () from /usr/lib/libc.so.6
#1 0x000000000136b8bc in psi::free_int_matrix (array=0x29d1fc0) at /home/james/projects/psi4/src/lib/libciomr/int_array.cc:134
#2 0x00000000012edea5 in psi::DPD::buf4_close (this=<optimized out>, Buf=Buf@entry=0x7fffffffd630)
at /home/james/projects/psi4/src/lib/libdpd/buf4_close.cc:50
#3 0x000000000082dbf8 in psi::ccenergy::pair_energies (epair_aa=epair_aa@entry=0x7fffffffd7c8, epair_ab=epair_ab@entry=0x7fffffffd7d0)
at /home/james/projects/psi4/src/bin/ccenergy/pair_energies.cc:99
#4 0x000000000086b797 in psi::ccenergy::ccenergy (options=...) at /home/james/projects/psi4/src/bin/ccenergy/ccenergy.cc:307
#5 0x000000000086f4a5 in psi::ccenergy::CCEnergyWavefunction::compute_energy (this=0x293b760) at /home/james/projects/psi4/src/bin/ccenergy/ccenergy.cc:171
#6 0x00000000007004f4 in py_psi_ccenergy () at /home/james/projects/psi4/src/bin/psi4/python.cc:429
#7 0x00000000007080f7 in invoke<boost::python::to_python_value<double const&>, double (*)()> (rc=..., f=<optimized out>)
at /usr/include/boost/python/detail/invoke.hpp:75
#8 operator() (args_=<optimized out>, this=<optimized out>) at /usr/include/boost/python/detail/caller.hpp:223
#9 boost::python::objects::caller_py_function_impl<boost::python::detail::caller<double (*)(), boost::python::default_call_policies, boost::mpl::vector1<double> > >::operator() (this=<optimized out>, args=<optimized out>, kw=<optimized out>) at /usr/include/boost/python/object/py_function.hpp:38
#10 0x00007ffff6695f2a in boost::python::objects::function::call(_object*, _object*) const () from /usr/lib/libboost_python3.so.1.54.0
#11 0x00007ffff6696298 in ?? () from /usr/lib/libboost_python3.so.1.54.0
#12 0x00007ffff66a01b3 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
from /usr/lib/libboost_python3.so.1.54.0
#13 0x000000000070c003 in operator() (this=<optimized out>, translate=0x6f9ff0 <translate_psi_exception(psi::PsiException const&)>, f=..., handler=...)
at /usr/include/boost/python/detail/translate_exception.hpp:48
#14 operator()<bool, boost::python::detail::translate_exception<psi::PsiException, void (*)(const psi::PsiException&)>, boost::_bi::list2<const boost::python::detail::exception_handler&, const boost::function0<void>&> > (f=..., a=<synthetic pointer>, this=<optimized out>) at /usr/include/boost/bind/bind.hpp:382
#15 operator()<boost::python::detail::exception_handler, boost::function0<void> > (a2=..., a1=..., this=<optimized out>)
at /usr/include/boost/bind/bind_template.hpp:102
#16 boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<psi::PsiException, void (*)(psi::PsiException const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(psi::PsiException const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke (function_obj_ptr=..., a0=..., a1=...) at /usr/include/boost/function/function_template.hpp:132
#17 0x00007ffff669ff7d in boost::python::handle_exception_impl(boost::function0<void>) () from /usr/lib/libboost_python3.so.1.54.0
#18 0x00007ffff6694a53 in ?? () from /usr/lib/libboost_python3.so.1.54.0
#19 0x00007ffff509dfdc in PyObject_Call (func=func@entry=0x278dbd0, arg=arg@entry=0x7ffff7f4f050, kw=kw@entry=0x0) at Objects/abstract.c:2084
#20 0x00007ffff5148fa6 in do_call (nk=<optimized out>, na=<optimized out>, pp_stack=0x7fffffffdc30, func=<optimized out>) at Python/ceval.c:4283
#21 call_function (oparg=<optimized out>, pp_stack=0x7fffffffdc30) at Python/ceval.c:4086
#22 PyEval_EvalFrameEx (f=f@entry=0x290fc70, throwflag=throwflag@entry=0) at Python/ceval.c:2679
#23 0x00007ffff514d265 in PyEval_EvalCodeEx (_co=0x7fffef1d9270, globals=<optimized out>, locals=locals@entry=0x0, args=args@entry=0x7ffff7eace28,
argcount=1, kws=kws@entry=0x7ffff7f4f068, kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0, kwdefs=0x0, closure=0x0)
at Python/ceval.c:3433
#24 0x00007ffff50c4033 in function_call (func=0x7fffef2128c0, arg=0x7ffff7eace10, kw=0x7fffef1a75f0) at Objects/funcobject.c:633
#25 0x00007ffff509dfdc in PyObject_Call (func=func@entry=0x7fffef2128c0, arg=arg@entry=0x7ffff7eace10, kw=kw@entry=0x7fffef1a75f0) at Objects/abstract.c:2084
#26 0x00007ffff5148044 in ext_do_call (nk=<optimized out>, na=<optimized out>, flags=<optimized out>, pp_stack=0x7fffffffdf48, func=0x7fffef2128c0)
at Python/ceval.c:4378
#27 PyEval_EvalFrameEx (f=f@entry=0x2982860, throwflag=throwflag@entry=0) at Python/ceval.c:2720
#28 0x00007ffff514d265 in PyEval_EvalCodeEx (_co=_co@entry=0x7fffefef5e40, globals=<optimized out>, locals=locals@entry=0x0, args=<optimized out>,
argcount=argcount@entry=1, kws=0x28d54e8, kwcount=0, defs=0x0, defcount=0, kwdefs=0x0, closure=0x0) at Python/ceval.c:3433
#29 0x00007ffff514b004 in fast_function (nk=<optimized out>, na=1, n=<optimized out>, pp_stack=0x7fffffffe160, func=<optimized out>) at Python/ceval.c:4161
#30 call_function (oparg=<optimized out>, pp_stack=0x7fffffffe160) at Python/ceval.c:4084
#31 PyEval_EvalFrameEx (f=f@entry=0x28d5360, throwflag=throwflag@entry=0) at Python/ceval.c:2679
#32 0x00007ffff514d265 in PyEval_EvalCodeEx (_co=_co@entry=0x7ffff7f22150, globals=globals@entry=0x7ffff7ed07a0, locals=locals@entry=0x7ffff7ed07a0,
args=args@entry=0x0, argcount=argcount@entry=0, kws=kws@entry=0x0, kwcount=kwcount@entry=0, defs=defs@entry=0x0, defcount=defcount@entry=0,
kwdefs=kwdefs@entry=0x0, closure=closure@entry=0x0) at Python/ceval.c:3433
#33 0x00007ffff514d33b in PyEval_EvalCode (co=co@entry=0x7ffff7f22150, globals=globals@entry=0x7ffff7ed07a0, locals=locals@entry=0x7ffff7ed07a0)
at Python/ceval.c:771
#34 0x00007ffff51669e4 in run_mod (mod=<optimized out>, filename=filename@entry=0x7ffff51bde72 "<string>", globals=globals@entry=0x7ffff7ed07a0,
locals=locals@entry=0x7ffff7ed07a0, flags=flags@entry=0x0, arena=arena@entry=0x28ca640) at Python/pythonrun.c:1981
#35 0x00007ffff5168335 in PyRun_StringFlags (str=<optimized out>, start=257, globals=0x7ffff7ed07a0, locals=0x7ffff7ed07a0, flags=0x0)
at Python/pythonrun.c:1914
#36 0x00007ffff66a3f45 in boost::python::exec(boost::python::str, boost::python::api::object, boost::python::api::object) ()
from /usr/lib/libboost_python3.so.1.54.0
#37 0x00000000006fcad7 in psi::Python::run (this=<optimized out>, input=<optimized out>) at /home/james/projects/psi4/src/bin/psi4/python.cc:1446
#38 0x000000000069a8ae in main (argc=2, argv=<optimized out>) at /home/james/projects/psi4/src/bin/psi4/psi4.cc:111
Any suggestions on what I could do to track this down further? I looked in ccenergy/pair_energies.cc and there was nothing immediately obvious.