mboquien / cigale

10 stars 0 forks source link

Segfault triggers broken pipe in multiprocessors #65

Closed Bovornpratch closed 7 months ago

Bovornpratch commented 10 months ago

Hello,

I found an issue that confused me. I was running CIGALE and received a segmentation fault during the model computation phase which triggered a broken pipe in the multiprocessors module. When this happens, the cores die off one by one and the multiprocessor is left waiting for the return from each CPU. This results in the system holding memory but with no models being computed.

One thing I found was that this occurred when I changed the parameter redshift_decimals from 2 to 3. However, due to the long time in the computation, it is hard to tell what triggers the error.

Has this kind of issue been brought up before?

Screen Shot 2023-09-05 at 17 09 23

Some info on the system. Python 3.10.12 astropy 5.3.2 configobj 5.0.8 contourpy 1.1.0 cycler 0.11.0 fonttools 4.42.1 kiwisolver 1.4.5 markdown-it-py 3.0.0 matplotlib 3.7.2 mdurl 0.1.2 numpy 1.25.2 packaging 23.1 pcigale 2022.1 Pillow 10.0.0 pip 22.0.2 pyerfa 2.0.0.3 Pygments 2.16.1 pyparsing 3.0.9 python-dateutil 2.8.2 PyYAML 6.0.1 rich 13.5.2 scipy 1.11.2 setuptools 59.6.0 six 1.16.0

mboquien commented 10 months ago

This can happen when you run out of memory. What I would suggest, besides getting more memory, is to increase the value of the blocks parameter in the pdf_analysis module. It will reduce the memory requirements at the expense of a slightly slower computation time.