<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:"Cambria Math";
        panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
        {font-family:DengXian;
        panose-1:2 1 6 0 3 1 1 1 1 1;}
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:"\@DengXian";
        panose-1:2 1 6 0 3 1 1 1 1 1;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        font-size:11.0pt;
        font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:#0563C1;
        text-decoration:underline;}
span.EmailStyle17
        {mso-style-type:personal-compose;
        font-family:"Calibri",sans-serif;
        color:windowtext;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri",sans-serif;}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="#0563C1" vlink="#954F72" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal">Hi FLASH users and developers,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I seem to have found a bug in the code that saves output files in HDF5. I originally noticed this problem with my own simulation, but I was able to replicate the issue with the laserslab example simulation. I’m using the MIT Engaging cluster
 to run the simulations which has a high performance Lustre file system. I get the errors specifically when I set the FLASH output_directory to the Lustre file system while the simulation directory is in an NFS file system. The issue also only arises if I’m
 using more than one MPI process.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’ve attached a copy of the error messages without my added debugging statements. I’ve also attached a copy with some debugging statements that I’ve added. The thing I’ve gleaned from the debugging statements is that if my filename in Fortran
 is too long, the filename in C gets messed up and includes extra bits at the end which cause the problem. This should be visible in the debugging output. I’ve also attached the modified io_h5file_interface.c and io_initFile.F90 files so you can see where I’ve
 added debugging statements. The io_h5file_interface.c function in question is io_h5init_file. To get the code to crash, I’ve changed the basenm in the flash.par to be “gasjetexp_”, the same as when I discovered this issue.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’ve also attached output from when I changed the basenm to be “test_”. The code works fine in this case, but you can see weird characters at the end of strings. I had to set ignoreForcedPlot to true to get it to work. With the additional
 characters of “forced” added to the filename, it still crashes. It might just be that my filename plus path is too long.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Note that the crash code doesn’t give a good “stack trace”. I managed to get a good one with my own simulation which I’ve attached as “original_stacktrace.txt”. This is how I figured out to look at the files discussed earlier.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For additional details, I’m using FLASH4.6.2, gcc 6.3.0, openmpi 2.1.1, and HDF5 1.10.5. The gcc is provided by the cluster in a module file but I’ve built openmpi and HDF5 from source. I can provide more details about how I configured/built
 these libraries if needed. Some information (not very comprehensive) about the engaging cluster can be found here:
<a href="https://engaging-web.mit.edu/eofe-wiki/">https://engaging-web.mit.edu/eofe-wiki/</a>.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">For even more context, here is my FLASH setup command: ./setup -auto LaserSlab -2d +cylindrical -nxb=16 -nyb=16 +hdf5typeio species=cham,targ +mtmmmt +laser +uhd3t +mgd mgd_meshgroups=6 -parfile=example.par -without-unit=physics/sourceTerms/EnergyDeposition/EnergyDepositionMain/Laser/LaserIO
 +hdf5typeIO +parallelIO -objdir=test_laserslab<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I’ve had to disable LaserIO due to some other problems I’ve had with parallel HDF5 output. I’ve also attached my flash.par file.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">I hope what I’ve written here is enough to describe the problem. Hopefully other users using Lustre filesystems can be aware of this potential issue.<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Best,<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal">Tim Johnson<o:p></o:p></p>
<p class="MsoNormal">PhD Candidate<o:p></o:p></p>
<p class="MsoNormal">High Energy Density Physics Group<o:p></o:p></p>
<p class="MsoNormal">MIT Plasma Science and Fusion Center<o:p></o:p></p>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>