Run time erro


I need help on the following error messages.
I compiled my 3D simulation and it was successful. However, after I submitted it to myinstitutions clinux luster, I got the messages below

p4_error:interrupt SIGSEGV:11
net_send:could not write to fd=4 errno=32
net_send:could not write to fd=5 errno=32


Your problem has obviously to do with parallelism, but there’s not enough information to find out what’s wrong. Does your code work in serial?


Attached below is a copy of the complete error message. I have not tried it in serial computation because the size of the domain is so large that it would take ages to run. I just want to be sure that it is not from my code I think I used correctly, all the templates required for the simulation


4_error: latest msg from perror: Bad file descriptor
p4_error: latest msg from perror: Bad file descriptor
p4_error: latest msg from perror: Bad file descriptor
p4_error: latest msg from perror: Bad file descriptor

p16_5503: p4_error: interrupt SIGSEGV: 11
p8_13713: p4_error: interrupt SIGSEGV: 11
p12_13120: p4_error: interrupt SIGSEGV: 11
p0_11499: (566.597656) net_recv failed for fd = 5
p0_11499: p4_error: net_recv read, errno = : 9
p2_11558: (566.332031) net_recv failed for fd = 3
p1_11505: (566.457031) net_recv failed for fd = 3
p1_11505: p4_error: net_recv read, errno = : 9
p3_11611: (566.195312) net_recv failed for fd = 3
p9_13765: (558.121094) net_send: could not write to fd=6, errno = 9
p10_13817: (557.988281) net_send: could not write to fd=11, errno = 9
p11_13869: (557.855469) net_send: could not write to fd=6, errno = 9
p0_11499: (612.859375) net_send: could not write to fd=4, errno = 32

Well, I tried to run in in serially but it outputs the same message in addition to another that says “bad file descriptor”

So, this error message does unfortunately not state much more than the fact that your program crashed. This can be related to an out-of-memory problem, or any other among thousands of possibilities. You can try to compile the program in debug mode, in the hope to get a more explicit error message.

But generally speaking, I encourage a progressive approach to program development. Start with a simple program that works, and add complexity progressively. In this way, it’s much easier to identify problems when they appear.

Thanks Jonas,

The genesis of this is as follows

Well, I am simulating flow in porous media and I started with bounce-back in the non-flow directions, and it worked perfectly well with nice mages. I decided to take it a step further by incorporating periodic boundaries in all directions, then these error messages.

Using the bounce back, I inputted data from my input file using

for (int iZ=1; iZ< nz-1; ++iZ) {
for (int iY=1; iY< ny-1; ++iY) {
for (int iX=1; iX<nx-1; ++iX) {
if(ch == ‘0’) //0=pore
this is the dynamics part of the simulation

			else if(ch == '1')
							&instances::getBounceback<T,DESCRIPTOR>() );

It worked well.

For the periodic boundaries, I decided to define a 3-dimensional array (as shown below) and stored all data from my input file to it instead of the former procedure of going into the file for all the number of iterations required for the simulation.


for (int iz=0; iz< nz-2; ++iz) {
    for (int iy=0; iy< ny-2; ++iy) {
        for (int ix=0; ix< nx-2; ++ix) {
			if(ch == '0')
				n[iz][iy][ix] = ch;
			else if(ch =='1')
				n[iz][iy][ix] = ch;

Could the 3-dimensional array be responsible for the error?


I tried to compile in debug mode like you suggested and I got this error

…/…/src/io/serializerIO.hh:45: error: numeric_limits' was not declared in this scope ../../src/io/serializerIO.hh:45: error: expected primary-expression before "unsigned" ../../src/io/serializerIO.hh:45: error: expected)’ before “unsigned”
…/…/src/io/serializerIO.hh:45: error: expected )' before ';' token ../../src/io/serializerIO.hh:45: error: expected)’ before ‘;’ token
make: *** [/work/cchukw1/rsimulation/examples/cavity3d/cavity3d.o] Error 1
[cchukw1@tezpur1 cavity3d]$

I checked the serializerIO.hh and and everything looks ok.

I must add that in my previous attempts, compilation was successful but it was computation that terminated abruptly


If you do either of the two following:

(1) add the line


at the beginning of serializerIO.hh

(2) remove line 45 of serializerIO.hh

compilation should work in debug mode. You might also want to run your program through the debugger gdb, to find out at which point it crashes.