Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fix OpenBabel segfault in frame_to_rdkit #25

Merged
merged 2 commits into from
Jun 7, 2024
Merged

Fix OpenBabel segfault in frame_to_rdkit #25

merged 2 commits into from
Jun 7, 2024

Conversation

joegilkes
Copy link
Collaborator

Back when we were using PyCall instead of PythonCall, there was an issue where repeated calling of frame_to_rdkit could cause a segfault within OpenBabel (as in the original implementation in 86ad962). This was originally fixed in 96539b7 by creating a pure Python function that could run this part of the code. No idea why this fix works, but it seems OB doesn't like being passed back and forth between Python and Julia very quickly and this works around it.

When we moved to PythonCall in e06ad7b it seemed like this was fixed and we went back to a mixed Julia/Python implementation of this functionality, but recent testing on large CRNs has caused it to rear its ugly head again.

This has been fixed by reimplementing a pure Python function called frame_to_rdkit_remap_atoms in Kinetica's __init__ function, using PythonCall this time.

@joegilkes joegilkes merged commit c8e5184 into main Jun 7, 2024
4 checks passed
@joegilkes joegilkes deleted the dev branch June 7, 2024 09:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant