On Tue, 8 Apr 2025 01:37:21 GMT, Chris Plummer <cjplum...@openjdk.org> wrote:
>> This is a long-standing oversight: HeapDumpPath does not recognise %p for >> pid expansion. >> The default filename uses a pid (e.g. java_pid1676937.hprof) but >> HeapDumpPath does not. >> It has always done a manual "root plus pid plus extension" on the default >> filename only, and >> should move to using Argument::copy_expand_pid() like we do with other such >> filenames. >> >> >> We also assumed the default filename is not a directory (which is very very >> likely, but doesn't have to be true). > > src/hotspot/share/services/heapDumper.cpp line 2792: > >> 2790: // Path is a directory. Append the default name, with %p >> substitution. Use my_path temporarily. >> 2791: if (!Arguments::copy_expand_pid(dump_file_name, >> strlen(dump_file_name), my_path, JVM_MAXPATHLEN)) { >> 2792: warning("Cannot create heap dump file. HeapDumpPath is too >> long."); > > What is going to be the end result of this? A truncated file name? Yes the other warnings return - thanks. They all return without incrementing dump_seq, so will hit the same failure each time. Setting a HeapDumpPath near to 4k in length is not an efficient thing to do! ------------- PR Review Comment: https://git.openjdk.org/jdk/pull/24482#discussion_r2032733570