Issue with `SimInspiralChooseFDWaveformSequence` and `IMRPhenomXP`
I am experiencing an issue when trying to generate a waveform using my IMRPhenomXP ROQ basis from within bilby
. I tracked the problem down to an issue with trying to generate an IMRPhenomXP
waveform with the SimInspiralChooseFDWaveformSequence
function. You can see the error that I get when running on the Cardiff hawk cluster below:
*** Error in `python': free(): invalid pointer: 0x00002af0032197b8 ***
======= Backtrace: =========
/lib64/libc.so.6(+0x81299)[0x2af002ed3299]
/nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/lib/python3.6/site-packages/lal/../lalsuite.libs/liblal-cc0817b5.so.20.1.2(XLALDictEntryFree+0x1b)[0x2af00a09378b]
/nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/lib/python3.6/site-packages/lal/../lalsuite.libs/liblal-cc0817b5.so.20.1.2(XLALDestroyDict+0x2e)[0x2af00a0938ee]
/nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/lib/python3.6/site-packages/lal/_lal.cpython-36m-x86_64-linux-gnu.so(+0x24c0ad)[0x2af009c730ad]
python[0x541c77]
python(_PyEval_EvalFrameDefault+0x4501)[0x5473a1]
python[0x541ad1]
python(PyEval_EvalCode+0x60)[0x542910]
python(PyRun_FileExFlags+0x168)[0x4266c8]
python(PyRun_SimpleFileExFlags+0xdd)[0x4268ad]
python(Py_Main+0xd4a)[0x43bdaa]
python(main+0x162)[0x41d8b2]
/lib64/libc.so.6(__libc_start_main+0xf5)[0x2af002e74555]
python[0x41d970]
======= Memory map: ========
00400000-00671000 r-xp 00000000 00:2f 1059389534 /nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/bin/python3
00871000-00872000 r--p 00271000 00:2f 1059389534 /nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/bin/python3
00872000-008d6000 rw-p 00272000 00:2f 1059389534 /nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/bin/python3
008d6000-00907000 rw-p 00000000 00:00 0
00b82000-01148000 rw-p 00000000 00:00 0 [heap]
2af002309000-2af00232b000 r-xp 00000000 08:02 6447091 /usr/lib64/ld-2.17.so
2af00232b000-2af00232c000 rw-p 00000000 00:00 0
2af00232c000-2af002333000 r--s 00000000 08:02 6687072 /usr/lib64/gconv/gconv-modules.cache
2af002333000-2af002334000 r-xs 00000000 08:20 1076518586 /local/charlie.hoy/#1076518586 (deleted)
2af002334000-2af002335000 rw-s 00000000 08:20 1076518586 /local/charlie.hoy/#1076518586 (deleted)
2af002335000-2af002336000 rw-p 00000000 00:00 0
2af002348000-2af00248c000 rw-p 00000000 00:00 0
2af0024b1000-2af0024f1000 rw-p 00000000 00:00 0
2af0024f1000-2af0024f7000 r--p 00000000 00:2f 1073416436 /nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/lib/python3.6/site-packages/lalsuite.libs/libhdf5_hl-3806c7ee.so.100.1.2
2af0024f7000-2af00250e000 r-xp 00006000 00:2f 1073416436 /nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/lib/python3.6/site-packages/lalsuite.libs/libhdf5_hl-3806c7ee.so.100.1.2
2af00250e000-2af002514000 r--p 0001d000 00:2f 1073416436 /nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/lib/python3.6/site-packages/lalsuite.libs/libhdf5_hl-3806c7ee.so.100.1.2
2af002514000-2af002515000 r--p 00022000 00:2f 1073416436 /nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/lib/python3.6/site-packages/lalsuite.libs/libhdf5_hl-3806c7ee.so.100.1.2
2af002515000-2af002516000 rw-p 00023000 00:2f 1073416436 /nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/lib/python3.6/site-packages/lalsuite.libs/libhdf5_hl-3806c7ee.so.100.1.2
2af002516000-2af002517000 rw-p 00000000 00:00 0
2af002517000-2af00251f000 rw-p 00029000 00:2f 1073416436 /nfshome/store01/users/charlie.hoy/virtualenvs/pesummary_dev/lib/python3.6/site-packages/lalsuite.libs/libhdf5_hl-3806c7ee.so.100.1.2
2af00252a000-2af00252b000 r--p 00021000 08:02 6447091 /usr/lib64/ld-2.17.so
2af00252b000-2af00252c000 rw-p 00022000 08:02 6447091 /usr/lib64/ld-2.17.so
2af00252c000-2af00252d000 rw-p 00000000 00:00 0
2af00252d000-2af002544000 r-xp 00000000 08:02 6423211 /usr/lib64/libpthread-2.17.so
2af002544000-2af002743000 ---p 00017000 08:02 6423211 /usr/lib64/libpthread-2.17.so
2af002743000-2af002744000 r--p 00016000 08:02 6423211 /usr/lib64/libpthread-2.17.so
2af002744000-2af002745000 rw-p 00017000 08:02 6423211 /usr/lib64/libpthread-2.17.so
2af002745000-2af002749000 rw-p 00000000 00:00 0
2af002749000-2af00274b000 r-xp 00000000 08:02 6447097 /usr/lib64/libdl-2.17.so
2af00274b000-2af00294b000 ---p 00002000 08:02 6447097 /usr/lib64/libdl-2.17.so
2af00294b000-2af00294c000 r--p 00002000 08:02 6447097 /usr/lib64/libdl-2.17.so
2af00294c000-2af00294d000 rw-p 00003000 08:02 6447097 /usr/lib64/libdl-from lalsimulation import SimInspiralChooseFDWaveformSequence, IMRPhenomXP, IMRPhenomPv2, 2.17.so
2af00294d000-2af00294f000 r-xp 00000000 08:02 6423219 /usr/lib64/libutil-2.17.so
2af00294f000-2af002b4e000 ---p 00002000 08:02 6423219 /usr/lib64/libutil-2.17.so
2af002b4e000-2af002b4f000 r--p 00001000 08:02 6423219 /usr/lib64/libutil-2.17.so
2af002b4f000-2af002b50000 rw-p 00002000 08:02 6423219 /usr/lib64/libutil-2.17.so
2af002b50000-2af002c51000 r-xp 00000000 08:02 6447099 /usr/lib64/libm-2.17.so
2af002c51000-2af002e50000 ---p 00101000 08:02 6447099 /usr/lib64/libm-2.17.so
2af002e50000-2af002e51000 r--p 00100000 08:02 6447099 /usr/lib64/libm-2.17.so
2af002e51000-2af002e52000 rw-p 00101000 08:02 6447099 /usr/lib64/libm-2.17.so
2af002e52000-2af003015000 r-xp 00000000 08:02 6423185 /usr/lib64/libc-2.17.so
2af003015000-2af003215000 ---p 001c3000 08:02 6423185 /usr/lib64/libc-2.17.so
2af003215000-2af003219000 r--p 001c3000 08:02 6423185 /usr/lib64/libc-2.17.so
2af003219000-2af00321b000 rw-p 001c7000 08:02 6423185 /usr/lib64/libc-2.17.so
2af00321b000-2af003220000 rw-p 00000000 00:00 0
2af003220000-2af009763000 r--p 00000000 08:02 6694252 /usr/lib/locale/locale-archive
2af009763000-2af0097a3000 rw-p 00000000 00:00 0
2af0097a3000-2af0097a5000 r-xp 00000000 00:2f 849511589 /nfshome/store01/users/charlie.hoy/.pyenv/versions/3.6.7/lib/python3.6/lib-dynload/_heapq.cpython-36m-x86_64-linux-gnu.so
2af0097a5000-2af0099a4000 ---p 00002000 00:2f 849511589 /nfshome/store01/users/charlie.hoy/.pyenv/versions/3.6.7/lib/python3.6/lib-dynload/_heapq.cpython-36m-x86_64-linux-gnu.so
2af0099a4000-2af0099a5000 r--p 00001000 00:2f 849511589 /nfshome/store01/users/charlie.hoy/.pyenv/versions/3.6.7/lib/python3.6/lib-dynload/_heapq.cpython-36m-x86_64-linux-gnu.soAborted
This can be reproduced with the following code snippet:
from lalsimulation import SimInspiralChooseFDWaveformSequence, IMRPhenomXP, IMRPhenomPv2, IMRPhenomXPHM
import lal
import numpy as np
def function(
phase, m1, m2, s1x, s1y, s1z, s2x, s2y, s2z, f_ref, distance, iota,
lal_dict, approximant
):
frequency_array = lal.CreateREAL8Sequence(10)
frequency_array.data = np.linspace(1, 10, 10)
h_plus, h_cross = SimInspiralChooseFDWaveformSequence(
float(phase), float(m1), float(m2), float(s1x), float(s1y), float(s1z),
float(s2x), float(s2y), float(s2z), float(f_ref), float(distance),
float(iota), lal_dict, approximant, frequency_array
)
return h_plus, h_cross
function(
0.5, 5*lal.MSUN_SI, 2*lal.MSUN_SI, 0., 0., 0., 0., 0., 0., 20., 1.*10**6*lal.PC_SI,
0., lal.CreateDict(), IMRPhenomXP
)
It seems to only be specific with IMRPhenomXP
since the error is not raised for IMRPhenomPv2
or IMRPhenomXPHM
. I also found that if you pass None
instead of lal.CreateDict()
the issue goes away. I am running with:
>>> import lalsimulation
>>> lalsimulation.__version__
'3.0.0'
Tagging @geraint.pratten.