Fortran Runtime Error: EXECUTE_COMMAND_LINE: Invalid Command Line

Error message:

Error termination. Backtrace:
#0  0x4006d9 in set_cmdstat
    at ../../../cray-gcc-6.2.0/libgfortran/intrinsics/execute_command_line.c:58
#1  0x66e5d8 in set_cmdstat
    at ../../../cray-gcc-6.2.0/libgfortran/intrinsics/execute_command_line.c:89
#2  0x66e5d8 in execute_command_line
    at ../../../cray-gcc-6.2.0/libgfortran/intrinsics/execute_command_line.c:112
#3  0x525b37 in create_output_dirs_
    at ../amr/output_amr.f90:679
#4  0x525e7b in dump_all_
    at ../amr/output_amr.f90:40
#5  0x51c1a0 in amr_step_
    at ../amr/amr_step.f90:156
#6  0x51a72b in adaptive_loop_
    at ../amr/adaptive_loop.f90:130
#7  0x40a415 in ramses
    at ../amr/ramses.f90:13
#8  0x40a415 in main
    at ../amr/ramses.f90:15
srun: error: nid01210: task 0: Exited with exit code 2

What’s happening?

No idea. It happens randomly, and the command line is correct. It usually crashes after the merger tree and unbinding is done, i.e. when it’s called the second time for the same output, so the directory is already created, hence the command line can’t be invalid.

Possible reason, but haven’t checked: StackExchange . Apparently call EXECUTE_COMMAND_LINE() creates a child process, copies all the memory, and crashes when it runs out of memory. Possible that this is happening when clumpfinding arrays are still allocated and waiting for the dump…

Solution

Comment out the EXECUTE_COMMAND_LINE lines in the create_output_dirs routine and create the directories manually.

Page last edited 2019-11-04