-
Bug
-
Resolution: Fixed
-
P4
-
8u191
-
b01
-
generic
-
generic
gcc 7.x gives the following warning when building jdk8u:
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/runtime/fprofiler.cpp:
In member function ‘void ThreadProfiler::vm_update(TickPosition)’:
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/runtime/fprofiler.cpp:638:56:
warning: argument 1 null where non-null expected [-Wnonnull]
bool vm_match(const char* name) const { return strcmp(name, _name)
== 0; }
~~~~~~^~~~~~~~~~~~~
In file included from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp:35:0,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/utilities/globalDefinitions.hpp:33,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/utilities/debug.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/runtime/globals.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/memory/allocation.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/memory/iterator.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/memory/genOopClosures.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/oops/klass.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/runtime/handles.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/memory/universe.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/code/oopRecorder.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/asm/codeBuffer.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/asm/assembler.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/precompiled/precompiled.hpp:29:
/usr/include/string.h:136:12: note: in a call to function ‘int
strcmp(const char*, const char*)’ declared here
extern int strcmp (const char *__s1, const char *__s2)
^~~~~~
This appears to be because vm_update with a single argument calls its
sibling function with a NULL name, which is not safe. A safer and
compatible alternative is to call vm_update with an empty string; it
results in exactly the same hash as a NULL string, i.e. 0.
https://mail.openjdk.java.net/pipermail/jdk8u-dev/2018-December/008342.html
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/runtime/fprofiler.cpp:
In member function ‘void ThreadProfiler::vm_update(TickPosition)’:
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/runtime/fprofiler.cpp:638:56:
warning: argument 1 null where non-null expected [-Wnonnull]
bool vm_match(const char* name) const { return strcmp(name, _name)
== 0; }
~~~~~~^~~~~~~~~~~~~
In file included from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/utilities/globalDefinitions_gcc.hpp:35:0,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/utilities/globalDefinitions.hpp:33,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/utilities/debug.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/runtime/globals.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/memory/allocation.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/memory/iterator.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/memory/genOopClosures.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/oops/klass.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/runtime/handles.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/memory/universe.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/code/oopRecorder.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/asm/codeBuffer.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/asm/assembler.hpp:28,
from
/home/ubuntu/openjdk/jdk8u/hotspot/src/share/vm/precompiled/precompiled.hpp:29:
/usr/include/string.h:136:12: note: in a call to function ‘int
strcmp(const char*, const char*)’ declared here
extern int strcmp (const char *__s1, const char *__s2)
^~~~~~
This appears to be because vm_update with a single argument calls its
sibling function with a NULL name, which is not safe. A safer and
compatible alternative is to call vm_update with an empty string; it
results in exactly the same hash as a NULL string, i.e. 0.
https://mail.openjdk.java.net/pipermail/jdk8u-dev/2018-December/008342.html