While running preCICE mapping, Floating point exception // Integer divide-by-zero?

Dear preCICE Community,

We are trying to couple CSD solver CAMRAD-II and CFD solver DLR-TAU we have working adapters and some sample simulations. Right now we are trying to change the CFD model, but we are facing such an error. Both simulations work well separately, CSD model is working well with our old CFD model, however, it crashes after broadcasting the first CAMRAD mesh.

We are using preCICE 1.6 at the moment.

The first handshake happens, CAMRAD solver starts and solves.

After, CAMRAD passes non-mesh-based data for Collocations and Motions. Broadcast Filtering and Mapping works for Collocation/Motion data.

Here is a part of our log file.

Normally, after the broadcast, we expect the mapping and filtering stage.

(36) 14:29:24 [partition::ReceivedPartition]:130 in compute: ESC[0mBroadcast mesh CAMRAD_Mesh0
(18) 14:29:24 [partition::ReceivedPartition]:130 in compute: ESC[0mBroadcast mesh CAMRAD_Mesh0
(29) 14:29:24 [partition::ReceivedPartition]:130 in compute: ESC[0mBroadcast mesh CAMRAD_Mesh0
(9) 14:29:24 [partition::ReceivedPartition]:130 in compute: ESC[0mBroadcast mesh CAMRAD_Mesh0
(22) 14:29:24 [partition::ReceivedPartition]:130 in compute: ESC[0mBroadcast mesh CAMRAD_Mesh0
[XXXXXX-YY131:35934] *** Process received signal ***
[XXXXXX-YY131:35934] Signal: Floating point exception (8)
[XXXXXX-YY131:35934] Signal code: Integer divide-by-zero (1)
[XXXXXX-YY131:35934] Failing at address: 0x7f92ca0ff2b5
[XXXXXX-YY131:35934] [ 0] /lib/x86_64-linux-gnu/libpthread.so.0(+0x11390)[0x7f92eaea6390]
[XXXXXX-YY131:35934] [ 1] /scratch/user/00_Software/precice/precice/lib/libprecice.so.1.6.1(_ZN7precice9partition17ReceivedPartition22createOwnerInformationEv+0xe57)[0x7f92ca0ff2b5]
[XXXXXX-YY131:35934] [ 2] /scratch/user/00_Software/precice/precice/lib/libprecice.so.1.6.1(_ZN7precice9partition17ReceivedPartition7computeEv+0x1bfe)[0x7f92ca0facc6]

S
incerely yours,
Kursat
:hugs:

Hi @kursatyurt

I think the most obvious advice here is to upgrade your preCICE version, since almost all error messages have been reworked during the releases and you should get a descriptive error message with the recent preCICE version. Do you have any particular reason to stick to v1.6? Upgrading is really simple, we even have a migration guide on the website: Porting adapters from preCICE 1.x to 2.x | preCICE - The Coupling Library

3 Likes

Could be a “out of memory” problem. In the mesh broadcasting stage, memory requirement is typically highest. Still, would be interesting to see whether you get a better error message with v2.2 :grin: