Hi everyone,
I am running two-phase (air & water) VOF DNS simulation on Basilisk. I have run these kinds of simulations for about a year without issues. However, after our university update our cluster two weeks ago, the simulations start to report heap memory type errors, causing task failures. I have done some tests and so far I found the following patterns:
1. The identical code has been run successfully before the slurm update.
2. The errors does not occur in the first time step, but rather "random" in the later time steps, where I have run hours into the simulation.
3. Recompiling the code does not fix the issue.
4. There are more than one type of errors reported when I run the same code with one different physical parameter values, but all seem to point to heap memory errors.
5. I am trying to reproduce the errors with valgrind checker but it hasn't given me meaningful message yet, since it occurs a bit randomly and not at the first time stamp.
The errors that I have encountered are listed below:
double free or corruption (out) (last log: properties src/two-phase-generic.h:83)
free(): invalid pointer (last log: properties src/two-phase-generic.h:83)
malloc(): unaligned tcache chunk detected (last log: outputting customized files)
munmap_chunk(): invalid pointer (last log: acceleration src/iforce.h:45
double free or corruption (!prev) (last log: properties src/two-phase-generic.h:83)
I have asked our cluster staff and they said that it is likely because there is a bug in the code that previous versions of clusters didn't catch, but with the new update (especially security updates) the cluster is able to catch these errors.
I am wondering whether anyone has experienced this kind of errors before and if so, what could be the cause of these and where should I look for. Any tips and suggestions are greatly appreciated!
Best,
Jinshi