Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Make full and correct use of finalization #393

Open
abensonca opened this issue Feb 28, 2023 · 2 comments
Open

Make full and correct use of finalization #393

abensonca opened this issue Feb 28, 2023 · 2 comments

Comments

@abensonca
Copy link
Collaborator

Full support for finalization is expected in GCC 14, and a 99% patch is already available from Paul Thomas. We should implement full compliance with this, checking that we avoid any memory leaks.

@abensonca
Copy link
Collaborator Author

abensonca commented Feb 28, 2023

First task is to ensure that all test codes run successfully and without memory leaks.

  • tests.resource_manager.exe
  • tests.IO.HDF5.exe
  • tests.fail.exe
  • tests.crash.exe
  • tests.Roman_numerals.exe
  • tests.binary_search_trees.exe
  • tests.hashes.cryptographic.exe
  • tests.arrays.exe memory leak
  • tests.hashes.perfect.exe memory leak
  • tests.files.exe
  • tests.IO.XML.exe memory leak
  • tests.MPI.exe
  • tests.ODE_solver.exe memory leak
  • tests.comparisons.exe
  • tests.convex_hulls.exe
  • tests.differentiation.exe
  • tests.integration.exe memory leak
  • tests.integration2.exe memory leak
  • tests.interpolation.2D.exe
  • tests.interpolation.exe memory leak
  • tests.locks.exe
  • tests.make_ranges.exe
  • tests.math.fast.exe
  • tests.math.linear_algebra.exe memory leak
  • tests.math_special_functions.exe
  • tests.meshes.exe
  • tests.multi_counters.exe
  • tests.multi_dimensional_minimizer.exe memory leak
  • tests.root_finding.exe
  • tests.search.exe
  • tests.sort.exe
  • tests.sort.topological.exe
  • tests.string_utilities.exe
  • tests.tables.exe
  • tests.tensors.exe
  • tests.vectors.exe
  • tests.parameters.exe
  • tests.math_distributions.exe
  • tests.hashes.exe segfault
  • tests.cosmic_age.exe
  • tests.event_hooks.exe
  • tests.nodes.exe
  • tests.DiemerKravtsov2014_concentration.exe
  • tests.NFW96_concentration.dark_energy.exe
  • tests.Prada2011_concentration.exe
  • tests.Zhao2009_algorithms.EdS.exe
  • tests.Zhao2009_algorithms.dark_energy.exe
  • tests.Zhao2009_algorithms.open.exe
  • tests.abundances.exe
  • tests.accretion_disks.exe
  • tests.biases.exe
  • tests.black_hole_fundamentals.exe
  • tests.bug745815.exe
  • tests.comoving_distance.exe
  • tests.concentration.Correa2015.exe
  • tests.concentrations.exe
  • tests.cooling_functions.exe
  • tests.dark_matter_halo_radius_enclosing_mass.exe
  • tests.dark_matter_profiles.adiabaticGnedin2004.exe
  • tests.dark_matter_profiles.exe
  • tests.dark_matter_profiles.finite_resolution.exe
  • tests.dark_matter_profiles.generic.exe
  • tests.dark_matter_profiles.heated.exe
  • tests.dark_matter_profiles.tidal_tracks.exe
  • tests.excursion_sets.exe
  • tests.gaunt_factors.exe
  • tests.geometry.coordinate_systems.exe
  • tests.halo_mass_function.Reed2007.exe
  • tests.halo_mass_function.Tinker.exe
  • tests.halo_mass_function.environment_averaged.exe
  • tests.initial_mass_functions.exe
  • tests.kepler_orbits.exe
  • tests.linear_growth.EdS.exe
  • tests.linear_growth.baryons.EdS.exe
  • tests.linear_growth.cosmological_constant.exe
  • tests.linear_growth.dark_energy.exe
  • tests.linear_growth.open.exe
  • tests.mass_accretion_history.Correa2015.exe
  • tests.mass_accretion_history.Hearin2021.exe
  • tests.mass_accretion_history.Hearin2021_stochastic.exe
  • tests.mass_distributions.exe
  • tests.merger_tree_branching.exe
  • tests.orbits.exe
  • tests.power_spectrum.exe
  • tests.power_spectrum.primordial.exe
  • tests.radiative_transfer.atomic_matter.state_solver.exe
  • tests.random.exe
  • tests.random.quasi.exe
  • tests.recombination_computed.exe
  • tests.recombination_cooling.Hummer.exe
  • tests.regular_expressions.exe
  • tests.sigma.exe
  • tests.spectra.postprocess.Inoue2014.exe
  • tests.spherical_collapse.baryons_dark_matter.exe
  • tests.spherical_collapse.dark_energy.EdS.exe
  • tests.spherical_collapse.dark_energy.constantEoSminus0.6.exe
  • tests.spherical_collapse.dark_energy.constantEoSminus0.8.exe
  • tests.spherical_collapse.dark_energy.constantEoSminusHalf.exe
  • tests.spherical_collapse.dark_energy.constantEoSminusTwoThirds.exe
  • tests.spherical_collapse.dark_energy.lambda.exe
  • tests.spherical_collapse.dark_energy.open.exe
  • tests.spherical_collapse.flat.exe
  • tests.spherical_collapse.nonlinear.exe
  • tests.spherical_collapse.open.exe
  • tests.stellar_populations.exe
  • tests.stellar_populations.luminosities.exe
  • tests.transfer_functions.exe
  • tests.tree_branch_destroy.exe
  • tests.warm_dark_matter.exe

@abensonca
Copy link
Collaborator Author

abensonca commented Mar 10, 2023

Outstanding problems with tests.parameters.exe:

  • segfault bug on some assignments - see here and here
  • test.parameters.exe memory leak
==13855== 528 (88 direct, 440 indirect) bytes in 1 blocks are definitely lost in loss record 167 of 173
==13855==    at 0x4810644: malloc (vg_replace_malloc.c:379)
==13855==    by 0xBF3478: __power_spectra_primordial_transferred_MOD_powerspectrumprimordialtransferredcnstrctrprmtrs (structure_formation.power_spectrum.primordial.transferred.p.F90:505)
==13855==    by 0xB78D0D: __cosmological_density_field_MOD_filteredpowerconstructorparameters (structure_formation.cosmological_mass_variance.filtered_power_spectrum.p.F90:298)
==13855==    by 0xB65398: __cosmological_density_field_MOD_cosmologicalmassvariancecnstrctrprmtrs (structure_formation.cosmological_density_field.p.F90:2992)
==13855==    by 0xCED9C4: MAIN__ (tests.parameters.p.F90:162)
==13855==    by 0x40BC36: main (tests.parameters.p.F90:33)
  • memory leak
==13855== 17,664 (184 direct, 17,480 indirect) bytes in 1 blocks are definitely lost in loss record 173 of 173
==13855==    at 0x4810644: malloc (vg_replace_malloc.c:379)
==13855==    by 0x148CD01: __input_parameters_MOD_inputparametersaddparameter (utility.input_parameters.p.F90:6266)
==13855==    by 0xB68915: __cosmological_density_field_MOD_filteredpowerdescriptor (structure_formation.cosmological_mass_variance.filtered_power_spectrum.p.F90:2394)
==13855==    by 0xB51369: __cosmological_density_field_MOD_cosmologicalmassvariancehasheddescriptor (structure_formation.cosmological_density_field.p.F90:3209)
==13855==    by 0xB76376: __cosmological_density_field_MOD_filteredpowerconstructorinternal (structure_formation.cosmological_mass_variance.filtered_power_spectrum.p.F90:1119)
==13855==    by 0xB7BF56: __cosmological_density_field_MOD_filteredpowerconstructorparameters (structure_formation.cosmological_mass_variance.filtered_power_spectrum.p.F90:726)
==13855==    by 0xB65398: __cosmological_density_field_MOD_cosmologicalmassvariancecnstrctrprmtrs (structure_formation.cosmological_density_field.p.F90:2992)
==13855==    by 0xCED9C4: MAIN__ (tests.parameters.p.F90:162)
==13855==    by 0x40BC36: main (tests.parameters.p.F90:33)
  • segfault in inputParametersSerializeToString() if subParameters is not wrapped in a block to force it to go out of scope - does this happen only on recursive calls? test case under development in bug.F90
  • segfault on evaluation of matheval parameter

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant