tskit-dev / tskit-paper

2 stars 4 forks source link

Pythran implementation can segfault #21

Open molpopgen opened 3 years ago

molpopgen commented 3 years ago

In working on #20, the Pythran benchmark segfaulted on me for 1e7 trees (on a machine w/32GB RAM).

Copy/paste from my terminal:

running <function benchmark_c_sequential at 0x7f0cc28435e0>
{'implementation': 'c_lib', 'sample_size': 10000000, 'time_mean': 6.66725}
{'implementation': 'c_recursive', 'sample_size': 10000000, 'time_mean': 5.45337}
{'implementation': 'c_struct_contiguous', 'sample_size': 10000000, 'time_mean': 4.27157}
{'implementation': 'c_struct_fragmented', 'sample_size': 10000000, 'time_mean': 1.59098}
running <function benchmark_biopython at 0x7f0cc28430d0>
running <function benchmark_pythran at 0x7f0cc2843280>
py_pythran:n=10000000  [------------------------------------]    0%Segmentation fault (core dumped)

Odd thing is that it isn't happening consistently.

jeromekelleher commented 3 years ago

Good to know, thanks. That is weird it doesn't happen predictably.

jeromekelleher commented 3 years ago

This stuff is tricky at scale, eh?

molpopgen commented 3 years ago

Yeah, messy. This crash happened once in 5 runs of the suite.