8385876: [8u] hotspot/src/share/vm/code/compiledIC.cpp:406:30: error: 'this' pointer is null#836
8385876: [8u] hotspot/src/share/vm/code/compiledIC.cpp:406:30: error: 'this' pointer is null#836zzambers wants to merge 1 commit into
Conversation
|
👋 Welcome back zzambers! A progress list of the required criteria for merging this PR into |
|
❗ This change is not yet ready to be integrated. |
Why? How is this solved in JDK 11 and later? |
Sorry, forgot to mention that. There were changes to affected code as part of: which apparently made problem not affect jdk11+. I have tried to build jdk11, zero builds ok with same compiler. |
tstuefe
left a comment
There was a problem hiding this comment.
Switching off warnings for whole compilation units seems a bit heavy-handed.
I would do a local warning disable with pragma. There are examples already (eg search for PRAGMA_FORMAT_NONLITERAL_IGNORED and define your own one)
|
Can you share a bit more about the environment where you reproduced this? I hit the same issue last week when building the latest 8u release on s390x Zero on CentOS 9, whereas January's release (8u482) built fine in the same environment. I also can't reproduce it locally on x86_64 Zero with GCC 14.3.1 in either release or fastdebug. This makes me suspect it is some other environment change that has triggered this warning. Is there a reason to not add I think the 11u change may not so much as solved it as created an additional level of indirection and abstraction that means the compiler can't reliably determine it any more. |
Zero on gcc 14.2.0 shows these warnings, which are treated as errors by default:
Variable
cscin CompiledIC.cpp originates frominstruction_addressmethod (which technically returnsNULLon Zero JVM).Same kind of problem. Variable
sscin sharedRuntime.cpp originates fromnativeCall_beforemethod (technicallyNULLon Zero JVM).Details:
This only affects JDK8 in Zero variant. Based on presence of
ShouldNotCallThis();in functions returningNULLpointer, I assume problematic code is, in fact, "dead code" and should not cause problems at runtime.Building broken, dead code, is not optimal, but given that this is old jdk, I just made warning for affected files non-fatal.
Progress
Issue
Reviewing
Using
gitCheckout this PR locally:
$ git fetch https://git.openjdk.org/jdk8u-dev.git pull/836/head:pull/836$ git checkout pull/836Update a local copy of the PR:
$ git checkout pull/836$ git pull https://git.openjdk.org/jdk8u-dev.git pull/836/headUsing Skara CLI tools
Checkout this PR locally:
$ git pr checkout 836View PR using the GUI difftool:
$ git pr show -t 836Using diff file
Download this PR as a diff file:
https://git.openjdk.org/jdk8u-dev/pull/836.diff
Using Webrev
Link to Webrev Comment