mpirun err with SmagorinskyRegularizedDynamics, seems like to be a bug!

Hi plb community,

after finishing the last simulation with the room ventilation with regularizedBGK, I wanted to try out the SmagorinskyRegularizedDynamics. So I changed some lines in the code and started it with mpirun, but here is the err that I always get:


[mtgnv2b:25607] *** Process received signal ***
[mtgnv2b:25608] *** Process received signal ***
[mtgnv2b:25608] Signal: Segmentation fault (11)
[mtgnv2b:25608] Signal code: Address not mapped (1)
[mtgnv2b:25608] Failing at address: 0x211
[mtgnv2b:25607] Signal: Segmentation fault (11)
[mtgnv2b:25607] Signal code: Address not mapped (1)
[mtgnv2b:25607] Failing at address: 0x211
[mtgnv2b:25608] [ 0] /lib64/libpthread.so.0(+0xf890) [0x7f32e51bf890]
[mtgnv2b:25608] [ 1] ./my() [0x455cc2]
[mtgnv2b:25608] [ 2] ./my() [0x45b614]
[mtgnv2b:25608] [ 3] ./my() [0x4f843a]
[mtgnv2b:25608] [ 4] ./my() [0x4fb7dd]
[mtgnv2b:25608] [ 5] ./my() [0x4a8fa1]
[mtgnv2b:25608] [ 6] ./my() [0x4a6fd2]
[mtgnv2b:25608] [ 7] ./my() [0x4a7114]
[mtgnv2b:25608] [ 8] ./my() [0x47b819]
[mtgnv2b:25608] [ 9] ./my() [0x47c30e]
[mtgnv2b:25608] [10] ./my() [0x4462e1]
[mtgnv2b:25608] [11] ./my() [0x446511]
[mtgnv2b:25608] [12] ./my() [0x415bd6]
[mtgnv2b:25608] [13] ./my() [0x410ad7]
[mtgnv2b:25608] [14] /lib64/libc.so.6(__libc_start_main+0xf5) [0x7f32e4e29b05]
[mtgnv2b:25608] [15] ./my() [0x413caf]
[mtgnv2b:25608] *** End of error message ***
[mtgnv2b:25607] [ 0] /lib64/libpthread.so.0(+0xf890) [0x7fda88bbf890]
[mtgnv2b:25607] [ 1] ./my() [0x455cc2]
[mtgnv2b:25607] [ 2] ./my() [0x45b614]
[mtgnv2b:25607] [ 3] ./my() [0x4f843a]
[mtgnv2b:25607] [ 4] ./my() [0x4fb7dd]
[mtgnv2b:25607] [ 5] ./my() [0x4a8fa1]
[mtgnv2b:25607] [ 6] ./my() [0x4a6fd2]
[mtgnv2b:25607] [ 7] ./my() [0x4a7114]
[mtgnv2b:25607] [ 8] ./my() [0x47b819]
[mtgnv2b:25607] [ 9] ./my() [0x47c30e]
[mtgnv2b:25607] [10] ./my() [0x4462e1]
[mtgnv2b:25607] [11] ./my() [0x446511]
[mtgnv2b:25607] [12] ./my() [0x415bd6]
[mtgnv2b:25607] [13] ./my() [0x410ad7]
[mtgnv2b:25607] [14] /lib64/libc.so.6(__libc_start_main+0xf5) [0x7fda88829b05]
[mtgnv2b:25607] [15] ./my() [0x413caf]
[mtgnv2b:25607] *** End of error message ***
--------------------------------------------------------------------------
mpirun noticed that process rank 0 with PID 25607 on node mtgnv2b exited on signal 11 (Segmentation fault).
--------------------------------------------------------------------------

Then I tried running the simulation without mpirun using just one core, it works.

============================================================

ok, I tested with the code in codeByTopic/smagorinskyModel, mpirun with SmagorinskyBGKdynamics it no problem. But doing mpirun with SmagorinskyRegularizedDynamics gives me the same err as I showed above.

Seems like to be a bug!

Hello!

Thank you very much for reporting this! It is actually a bug. The bug appears in very few cases and we consider it to be minor in nature. We corrected it in Palabos. The corrections span many files, so unfortunately, you will have to wait for the next official Palabos release.

A few comments that might help you are the following. As you already know, you can use SmagorinskyBGKdynamics with no problem. It would also be good in your own projects’ Makefiles to put:

debug = true

This way maybe you will avoid experiencing this random behaviour when running with one or more processors, since with this flag activated, there is a bigger chance that an assertion inside the code will fail, and you will have a better indication if something goes wrong.

Thank you once again for this bug report!

Best,
Dimitris

Is there a way to fix it? I need to be able to execute a code, that contains SmagorinskyRegularizedDynamics, with multiple cores.