As discussed during the CosmoBit meeting, there are some issues with the upcoming, yet unpublished, version of CLASS. In particular I have seen two issues so far in the context of the generic decayingDM models.
- For combinations of
lifetime and fraction that lead to very strong energy injection and are well excluded, CLASS happens to get stuck within the thermodynamics module. Unfortunately this is super sensitive to the specific input values such that I was not able so far to get a reproducible input values (i.e. the input values printed to cout in debug mode are not precise enough).
- For very short lifetimes (1e11s - 1e13s), CLASS crashes within the thermodynamics module during a call of the ndf15 solver. As for the first issue, also this is basically non-reproducible as it also super sensitive to the precise inputs.
For the latter issue the unwinded stack reads:
[HP-envy:31315] *** Process received signal ***
[HP-envy:31315] Signal: Segmentation fault (11)
[HP-envy:31315] Signal code: Address not mapped (1)
[HP-envy:31315] Failing at address: 0x8
[HP-envy:31315] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x12980)[0x7fbaca27e980]
[HP-envy:31315] [ 1] /work/gambit_master/Backends/installed/classy/3.0.0_beta/lib/classy.so(numjac+0x105b)[0x7fbac3b65fb7]
[HP-envy:31315] [ 2] /work/gambit_master/Backends/installed/classy/3.0.0_beta/lib/classy.so(evolver_ndf15+0xb1c)[0x7fbac3b5edaa]
[HP-envy:31315] [ 3] /work/gambit_master/Backends/installed/classy/3.0.0_beta/lib/classy.so(thermodynamics_reionization_evolve_with_tau+0x949)[0x7fbac3aa665d]
[HP-envy:31315] [ 4] /work/gambit_master/Backends/installed/classy/3.0.0_beta/lib/classy.so(thermodynamics_solve+0x60a)[0x7fbac3aa3710]
[HP-envy:31315] [ 5] /work/gambit_master/Backends/installed/classy/3.0.0_beta/lib/classy.so(thermodynamics_init+0x845)[0x7fbac3a9dc8a]
[HP-envy:31315] [ 6] /work/gambit_master/Backends/installed/classy/3.0.0_beta/lib/classy.so(+0x1e719)[0x7fbac39b9719]
[HP-envy:31315] [ 7] /work/gambit_master/Backends/installed/classy/3.0.0_beta/lib/classy.so(+0x1bf8d)[0x7fbac39b6f8d]
[HP-envy:31315] [ 8] /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyObject_Call+0x43)[0x7fbac9e63913]
[HP-envy:31315] [ 9] /usr/lib/x86_64-linux-gnu/libpython2.7.so.1.0(PyEval_CallObjectWithKeywords+0x47)[0x7fbac9ecde37]
[HP-envy:31315] [10] ./gambit(+0xf934c8)[0x56261c4274c8]
[HP-envy:31315] [11] ./gambit(+0xebe6ca)[0x56261c3526ca]
[HP-envy:31315] [12] ./gambit(+0x13eae74)[0x56261c87ee74]
[HP-envy:31315] [13] ./gambit(+0x1453b87)[0x56261c8e7b87]
[HP-envy:31315] [14] ./gambit(+0x1a324b1)[0x56261cec64b1]
[HP-envy:31315] [15] ./gambit(+0x1aa95c1)[0x56261cf3d5c1]
[HP-envy:31315] [16] /work/gambit_master/ScannerBit/lib/libscanner_multinest_3.11.so(+0x3a7d5)[0x7fba8c0ac7d5]
[HP-envy:31315] [17] /work/gambit_master/ScannerBit/lib/libscanner_multinest_3.11.so(+0x37f32)[0x7fba8c0a9f32]
[HP-envy:31315] [18] /work/gambit_master/ScannerBit/lib/libscanner_multinest_3.11.so(_ZN6Gambit9MultiNest14LogLikeWrapper7LogLikeEPdii+0x80)[0x7fba8c0a063a]
[HP-envy:31315] [19] /work/gambit_master/ScannerBit/lib/libscanner_multinest_3.11.so(_ZN6Gambit9MultiNest16callback_loglikeEPdiiPv+0x32)[0x7fba8c0a04ef]
[HP-envy:31315] [20] /work/gambit_master/ScannerBit/installed/multinest/3.11/libnest3.so(__cnested_MOD_loglike_f+0x69)[0x7fba85a4b795]
[HP-envy:31315] [21] /work/gambit_master/ScannerBit/installed/multinest/3.11/libnest3.so(__nested_MOD_gen_initial_live+0x20ea)[0x7fba85a4718d]
[HP-envy:31315] [22] /work/gambit_master/ScannerBit/installed/multinest/3.11/libnest3.so(__nested_MOD_nestsample+0x1025)[0x7fba85a49449]
[HP-envy:31315] [23] /work/gambit_master/ScannerBit/installed/multinest/3.11/libnest3.so(__nested_MOD_nestrun+0x19a4)[0x7fba85a4b34c]
[HP-envy:31315] [24] /work/gambit_master/ScannerBit/installed/multinest/3.11/libnest3.so(run+0x251)[0x7fba85a4b616]
[HP-envy:31315] [25] /work/gambit_master/ScannerBit/lib/libscanner_multinest_3.11.so(_ZN60__gambit_plugin_multinest__t__scanner__v__3_11___namespace__11PLUGIN_MAINEv+0x113d)[0x7fba8c09fe1e]
[HP-envy:31315] [26] ./gambit(+0x178e75b)[0x56261cc2275b]
[HP-envy:31315] [27] ./gambit(+0x178acbe)[0x56261cc1ecbe]
[HP-envy:31315] [28] ./gambit(+0x1785e0e)[0x56261cc19e0e]
[HP-envy:31315] [29] ./gambit(+0x8a1c90)[0x56261bd35c90]
[HP-envy:31315] *** End of error message ***
such that I already started to search for the issue in the numjac function of the ndf15 solver of CLASS. In fact, the actual issue is that the function that is called by this evolver (through the function pointer *derivs) is returning nan such that an indexing variable is left uninitialised with a random value. Thus a forbidden address is accessed and the crash occurs. However, I have not further investigated why exactly the function behind the *derivs pointer (which is thermodynamics_derivs in this case) is producing a NaN.
To reproduce the issue, everything is on the CosmoBit_development branch and the isuue will occur when you execute either yaml_files_EnergyInjection/Decay_photon_zreio.yaml or `yaml_files_EnergyInjection/Decay_photon.yaml'. You should hit a crashing parameter point relatively soon.
For this to work, you need to compile at least CosmoBit as module. Furthermore, you need multinest and the following backends: make alterbbn darkages classy_3.0.0_beta plc plc_data.
@fruzsinaagocs, I tag you, as you were interested in helping out with this. In case you have questions, let me know.
I also tag @anderkve , as you wanted to be kept in the loop.
As discussed during the CosmoBit meeting, there are some issues with the upcoming, yet unpublished, version of CLASS. In particular I have seen two issues so far in the context of the generic
decayingDMmodels.lifetimeandfractionthat lead to very strong energy injection and are well excluded, CLASS happens to get stuck within the thermodynamics module. Unfortunately this is super sensitive to the specific input values such that I was not able so far to get a reproducible input values (i.e. the input values printed to cout in debug mode are not precise enough).For the latter issue the unwinded stack reads:
such that I already started to search for the issue in the
numjacfunction of the ndf15 solver of CLASS. In fact, the actual issue is that the function that is called by this evolver (through the function pointer*derivs) is returningnansuch that an indexing variable is left uninitialised with a random value. Thus a forbidden address is accessed and the crash occurs. However, I have not further investigated why exactly the function behind the*derivspointer (which isthermodynamics_derivsin this case) is producing aNaN.To reproduce the issue, everything is on the
CosmoBit_developmentbranch and the isuue will occur when you execute eitheryaml_files_EnergyInjection/Decay_photon_zreio.yamlor `yaml_files_EnergyInjection/Decay_photon.yaml'. You should hit a crashing parameter point relatively soon.For this to work, you need to compile at least CosmoBit as module. Furthermore, you need
multinestand the following backends:make alterbbn darkages classy_3.0.0_beta plc plc_data.@fruzsinaagocs, I tag you, as you were interested in helping out with this. In case you have questions, let me know.
I also tag @anderkve , as you wanted to be kept in the loop.