Modified TUVX *CreateTuvx(const char *config_path, int *error_code) to verify the existence of configuration file before creating TUVX object to prevent memory leak when TUVX creates YAML node.
Dockerfile.fortran-gcc failure is caused by call test_tuvx_fort_api() and my understanding is that Kyle is working on TUVX
{
<insert_a_suppression_name_here>
Memcheck:Leak
match-leak-kinds: possible
fun:malloc
fun:__tuvx_cross_section_no2_tint_MOD_constructor
fun:__tuvx_cross_section_factory_MOD_cross_section_builder
fun:__tuvx_photolysis_rates_MOD_add
fun:__tuvx_photolysis_rates_MOD_constructor
fun:__tuvx_core_MOD_constructor
fun:InternalCreateTuvx
fun:_ZN6musica4TUVX6CreateERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE
fun:CreateTuvx
fun:__musica_tuvx_MOD_constructor
fun:test_tuvx_fort_api.1
fun:main
}
==397== LEAK SUMMARY:
==397== definitely lost: 0 bytes in 0 blocks
==397== indirectly lost: 1,607,111 bytes in 875 blocks
==397== possibly lost: 1,632 bytes in 1 blocks
==397== still reachable: 95 bytes in 4 blocks
==397== suppressed: 16 bytes in 2 blocks
Closes #128
TUVX *CreateTuvx(const char *config_path, int *error_code)
to verify the existence of configuration file before creating TUVX object to prevent memory leak whenTUVX
createsYAML
node.Dockerfile.fortran-gcc failure
is caused bycall test_tuvx_fort_api()
and my understanding is that Kyle is working on TUVX