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

Reply via email to