-
Notifications
You must be signed in to change notification settings - Fork 36
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Serial VTK and binary outputs crash when ghost zone output is enabled #393
Comments
In GitLab by @felker on Apr 5, 2023, 16:08 When I played around with this problem a month ago, I think I was able to reproduce the segfault, but I am unable to reproduce this now. Maybe there is another condition? On my M2 MacBook:
And the vtk files at least are differently sized depending on the ghost zone setting:
I also tried with multiple MeshBlocks without issue in serial CPU operation. Is this still a problem for you / can you share a complete reproducer? |
In GitLab by @jmstone216 on Jun 29, 2023, 11:57 It is probably too late to comment on this now, but this is a feature not a bug. The VTK format does not support multiple MeshBlocks in a single file (everything has to written as one large array). Thus if you try to write ghost zones in VTK files that contain more than one MeshBlock that introduces extra data in the array interior that cannot be represented, and I guess causes the code to crash in some cases. I need to add a trap that does not allow users to write ghost zones in VTK format with multiple MBs. Note that you can write just one MeshBlock in a VTK file (specified using the grid ID of that block), and in that case it is possible to write the ghost zones. |
In GitLab by @jfields7 on Feb 28, 2023, 13:42
When trying to write .vtk output without MPI enabled, adding the flag
ghost_zones = true
to the parameter file causes a segmentation fault during output. This is true on both CPU and GPU. It seems to be related to the size of the output data array; in serial, its size is calculated usingnout1*nout2*nout3
, but these variables only include the physical grid cells. This also seems to be an issue with serial binary output, but not ASCII tables. I haven't tested it, but I don't think the MPI output is affected by this issue, as it appears to write eachMeshBlock
separately.I haven't looked at it in much detail, but if this is nontrivial to fix, then it would be worthwhile to spit out an error or a warning at startup if
ghost_zones = true
andfile_type = vtk
orfile_type = bin
whenMPI_PARALLEL_ENABLED
is 0.The text was updated successfully, but these errors were encountered: