Sporadic segfaults with AmoebaMultipoleForce and CustomHbondForce

The functionality of OpenMM will (eventually) include everything that one would need to run modern molecular simulation.
POST REPLY
User avatar
Mary Van Vleet
Posts: 18
Joined: Wed Dec 09, 2015 11:56 am

Sporadic segfaults with AmoebaMultipoleForce and CustomHbondForce

Post by Mary Van Vleet » Thu Oct 20, 2016 2:08 pm

I'm in the process of putting together a force field that uses both AmoebaMultipoleForce and CustomHbondForce, and experiencing sporadic segmentation faults. My test files are attached; the test in each subdirectory can be run with a

Code: Select all

 
 $ bash submit_all.sh 
 

command, which *should* calculate the interaction energies of a benzene dimer and each of the monomers separately.

I don't have any diagnosis for the problem, but the following observations may help:
  • 1. When running these calculations with only the AmoebaMultipoleForce (see subdirectory 01_just_multipoles), I experience no segfaults.
    2. Similarly, when running these calculations with only the CustomHbondForce (see subdirectory 02_just_hbond_force), I experience no segfaults.
    3. However, when computing the energy of the benzene dimer with *both* the AmoebaMultipoleForce and the CustomHbondForce (see subdirectory 03_combined), I get (seemingly random) segfaults. Both the dimer calculation and the monomer calculations are prone to this segfault, though re-running the code repeatedly (shown below) causes different calculations to fail at different times.

Code: Select all

 $ bash submit_all.sh
<simtk.openmm.openmm.AmoebaMultipoleForce; proxy of <Swig Object of type 'OpenMM::AmoebaMultipoleForce *' at 0x7f2f91a6da20> > 18.5378279682 kJ/mol
<simtk.openmm.openmm.CMMotionRemover; proxy of <Swig Object of type 'OpenMM::CMMotionRemover *' at 0x7f2f91a6da80> > 0.0 kJ/mol
<simtk.openmm.openmm.CustomHbondForce; proxy of <Swig Object of type 'OpenMM::CustomHbondForce *' at 0x7f2f91a6da50> > -4.68109553417 kJ/mol
----
<simtk.openmm.openmm.CustomHbondForce; proxy of <Swig Object of type 'OpenMM::CustomHbondForce *' at 0x7f23763bea50> > 0.0 kJ/mol
<simtk.openmm.openmm.CMMotionRemover; proxy of <Swig Object of type 'OpenMM::CMMotionRemover *' at 0x7f23763bea80> > 0.0 kJ/mol
<simtk.openmm.openmm.AmoebaMultipoleForce; proxy of <Swig Object of type 'OpenMM::AmoebaMultipoleForce *' at 0x7f23763bea20> > 8.98131728499 kJ/mol
----
submit.sh: line 35:   792 Segmentation fault      python run_benzene.py
$ bash submit_all.sh
<simtk.openmm.openmm.AmoebaMultipoleForce; proxy of <Swig Object of type 'OpenMM::AmoebaMultipoleForce *' at 0x7f23efb99a20> > 18.5378279682 kJ/mol
<simtk.openmm.openmm.CMMotionRemover; proxy of <Swig Object of type 'OpenMM::CMMotionRemover *' at 0x7f23efb99a80> > 0.0 kJ/mol
<simtk.openmm.openmm.CustomHbondForce; proxy of <Swig Object of type 'OpenMM::CustomHbondForce *' at 0x7f23efb99a50> > -4.68109553417 kJ/mol
----
<simtk.openmm.openmm.CustomHbondForce; proxy of <Swig Object of type 'OpenMM::CustomHbondForce *' at 0x7f1937b1da50> > 0.0 kJ/mol
<simtk.openmm.openmm.CMMotionRemover; proxy of <Swig Object of type 'OpenMM::CMMotionRemover *' at 0x7f1937b1da80> > 0.0 kJ/mol
<simtk.openmm.openmm.AmoebaMultipoleForce; proxy of <Swig Object of type 'OpenMM::AmoebaMultipoleForce *' at 0x7f1937b1da20> > 8.98131728499 kJ/mol
----
<simtk.openmm.openmm.CustomHbondForce; proxy of <Swig Object of type 'OpenMM::CustomHbondForce *' at 0x7fdb06434a50> > 0.0 kJ/mol
<simtk.openmm.openmm.CMMotionRemover; proxy of <Swig Object of type 'OpenMM::CMMotionRemover *' at 0x7fdb06434a80> > 0.0 kJ/mol
<simtk.openmm.openmm.AmoebaMultipoleForce; proxy of <Swig Object of type 'OpenMM::AmoebaMultipoleForce *' at 0x7fdb06434a20> > 8.97823172782 kJ/mol
----
I'm running these calculations on a x86-64 linux machine, and am happy to provide additional hardware/software information as would be useful.

As always, thanks in advance for the help!

Mary
Attachments
seg_fault_tests.tgz
(178.25 KiB) Downloaded 8 times

User avatar
Mary Van Vleet
Posts: 18
Joined: Wed Dec 09, 2015 11:56 am

Re: Sporadic segfaults with AmoebaMultipoleForce and CustomHbondForce

Post by Mary Van Vleet » Thu Oct 27, 2016 8:28 am

As this post may have been missed, and because the segfaults are probably a bug, I moved the discussion over to the github issue tracker:

https://github.com/pandegroup/openmm/issues/1654

POST REPLY