- changed status to invalid
Segmentation faults with RDF example
Issue #87
invalid
The following (not really minimal, sry) example produces a segmentation fault:
# coding: utf-8
# In[1]:
import signac
import glotzformats
import freud
import io
import numpy as np
# In[2]:
index = signac.db.get_database('glotzer').master_index
# In[ ]:
posfiles = list(signac.contrib.fetch(index.find_one({'format': {'$regex': 'PosTrajectoryFile'}})))
posfile = io.StringIO(posfiles[0].read())
traj = glotzformats.reader.PosFileReader().read(posfile)
print(traj)
# In[ ]:
def calc_rdf(traj, r_max=None, delta_r=0.1):
from freud import density
if r_max is None:
r_max = 5.0
rdf = density.RDF(r_max, delta_r)
total_rdf = None
for frame in traj:
box = freud.trajectory.Box(frame.box.Lx, frame.box.Ly, frame.box.Lz)
pos = np.asarray(frame.positions, np.float32)
rdf.compute(box, pos, pos)
if total_rdf is None:
total_rdf = rdf.getRDF()
else:
total_rdf += rdf.getRDF()
return None
return rdf.getR(), total_rdf / len(traj)
rdf = calc_rdf(traj)
$ conda list | grep glotzer
boost 1.59.0 glotzer_py34_5 glotzer
freud 0.3.2 py34_0 file:///nfs/glotzer/software/conda-private/linux-64/freud-0.3.2-py34_0.tar.bz2
glotzformats 0.1.5 py34_0 file:///nfs/glotzer/software/conda-private/linux-64/glotzformats-0.1.5-py34_0.tar.bz2
pymongo 3.1.1 py34_0 file:///nfs/glotzer/software/conda-private/linux-64/pymongo-3.1.1-py34_0.tar.bz2
signac 0.2.4 py34_0 file:///nfs/glotzer/software/conda-private/linux-64/signac-0.2.4-py34_0.tar.bz2
tbb 4.4.0 1 glotzer
Also encountered in combination with: glotzformats=0.1.4
and freud=0.3.0
.
Comments (1)
-
reporter - Log in to comment
Issue was caused by PYTHONPATH extension that I was not aware of.