> IsSetupNeeded() caused me to lose a day or so searching for a segfault in > Confab. In the end, I figured out what the problem was (Setup wasn't being > called) and so I modified the function to always return True, as it's > essentially a test for molecular identity that doesn't always work. Sooner or > later it's going to fail, and a failure here means a difficult to diagnose > segfault halfway through processing a large number of compounds.
I respectfully disagree completely. Confab is *exactly* the reason IsSetupNeeded() is needed. :-) Confab generates conformers -- so you want to be able to do atom typing, formal charges, partial charges, etc. exactly *once* per molecule. Then you want to run the forcefield a lot on your different conformers. You don't need to re-do "setup." If you look through Paolo's changes, they make a lot of sense. In fact, it's a pretty solid test for molecular identity. If you're getting segfaults by *ANY* part of the Open Babel code, it needs to be reported and tested. I'm still trying to see if I can reproduce Andrew Dalke's reported segfault in fingerprints from last week. That's my $0.02, -Geoff ------------------------------------------------------------------------------ The ultimate all-in-one performance toolkit: Intel(R) Parallel Studio XE: Pinpoint memory and threading errors before they happen. Find and fix more than 250 security defects in the development cycle. Locate bottlenecks in serial and parallel code that limit performance. http://p.sf.net/sfu/intel-dev2devfeb _______________________________________________ OpenBabel-Devel mailing list OpenBabel-Devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/openbabel-devel