<div dir="ltr"><div>Hi John,</div><div><br></div><div>Are you using Stampede2 at TACC? I had the exact same problem come up out of nowhere over the summer. We have a custom set of particle mapping routines that uses 99% the same logic as the normal FLASH routines with some minor changes on unrelated parts. We could call the same functions several times successfully while building the grid, then suddenly one of the calls would cause this crash. Whenever it happened it would always happen at that same step upon restarts unless I altered the grid configuration somehow. I solved the problem by decreasing MAXBLOCKS and/or changing the number of processors used, so that each processor has more memory available and the blocks were distributed differently amongst the processors. I had been using MAXBLOCKS=500 for years, with the nodes/processes arranged to get 2gb per processor, but have recently had to lower that to 300 to stop this and other seemingly related problems. </div><div><br></div><div>After weeks of debugging over the summer, my completely unsubstantiated guess is that there is occasionally something fishy going on during the MPI_SEND/RECV calls that exchange information between neighbors, and that the fishiness comes down to one of the processors running out of memory and then hanging, crashing, or otherwise not responding during the MPI call. I have a ticket open with TACC but they haven't contributed any insight.</div><div><br></div><div>Cheers,</div><div>-Jeremy</div></div><div class="gmail_extra"><br><div class="gmail_quote">On Mon, Nov 27, 2017 at 12:22 PM, John ZuHone <span dir="ltr"><<a href="mailto:jzuhone@gmail.com" target="_blank">jzuhone@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Hi all,<br>
<br>
I suspect that this is a question mostly for Klaus, but if anyone here has any thoughts I’d appreciate it.<br>
<br>
I’m developing a new module in which I need to know the grid information about not only the neighbor blocks but also the blocks on the corners. For that, I am attempting to use the gr_findAllNeghID function, which is used currently by the routines which map particle properties to the mesh. I am aware that this function needs to have a sane grid structure, which is typically set up during a call to Grid_fillGuardCells. I believe that calling the function gr_ensureValidNeighborInfo should do the job, if I’m not mistaken.<br>
<br>
However, after calling gr_findAllNeghID, I am getting errors like this, which indicate that the mesh is not in the proper state:<br>
<br>
 Block handle error for target block:          -1 , proc:          -1<br>
 . My block is:          31 and proc is:          30<br>
  and we were trying to find neighbors to guard cell region:           1<br>
           1           1 and my global space is: IAXIS=  -1.00000000000000<br>
  -1.00000000000000      JAXIS=  -1.00000000000000       -1.00000000000000<br>
 KAXIS=  -1.00000000000000       -1.00000000000000<br>
 (1) No block handle.... increase maxblocks_alloc<br>
 DRIVER_ABORT: Damn 1<br>
 Block handle error for target block:          -1 , proc:          -1<br>
 . My block is:         542 and proc is:         540<br>
  and we were trying to find neighbors to guard cell region:           1<br>
           1           1 and my global space is: IAXIS=  -1.00000000000000<br>
  -1.00000000000000      JAXIS=  -1.00000000000000       -1.00000000000000<br>
 KAXIS=  -1.00000000000000       -1.00000000000000<br>
 (1) No block handle.... increase maxblocks_alloc<br>
 Block handle error for target block:          -1 , proc:          -1<br>
 DRIVER_ABORT: Damn 1<br>
 . My block is:        1082 and proc is:        1080<br>
  and we were trying to find neighbors to guard cell region:           1<br>
           1           1 and my global space is: IAXIS=  -1.00000000000000<br>
  -1.00000000000000      JAXIS=  -1.00000000000000       -1.00000000000000<br>
 KAXIS=  -1.00000000000000       -1.00000000000000<br>
 (1) No block handle.... increase maxblocks_alloc<br>
 DRIVER_ABORT: Damn 1<br>
<br>
I’ve tried adding a call to Grid_fillGuardCells right before the call to gr_findAllNeghID (which is overkill for my application, but worth a shot), as well as gr_ensureValidNeighborInfo(10)<wbr>, but neither of these things work.<br>
<br>
Does anyone have any idea what I need to do to get this function to work properly?<br>
<br>
Thanks,<br>
<br>
John Z</blockquote></div><br></div>