[7u40] Request for phase 2 approval for 8021946: Disabling sun.reflect.Reflection.getCallerCaller(int) by default breaks several frameworks and libraries
Alan Bateman
Alan.Bateman at oracle.com
Wed Jul 31 13:44:42 PDT 2013
A few weeks ago we pushed a change that "disables" the JDK private
method sun.reflect.Reflection.getCallerClass(int). Those that have been
following the effort to check the usages of caller sensitive methods in
the JDK will be familiar with the background to this.
At the time it was known that at least some developers have been using
this method directly and the solution allowed for those cases by
providing a system property to "re-enable" the method. Since then it has
become clear that there are a more usages that originally expected and
disabling it by default in 7u40 is going to cause significant pain and
noise.
I would like to propose that we change 7u40 so that this method is not
disabled by default. This should not be interpreted to mean that we
support direct usages of JDK-private sun.* APIs of course. Note that I
am not proposing at this time to do anything for JDK 8, instead we need
to take the time to look at the use-cases in more detail to see what if
there are other changes or APIs that need to be introduced.
So for 7u40, I propose is to leave the system property in place and
simply change its default value. This allows for testing with the method
disabled to see if there are dependencies. It also means the changes (at
this late time in the release) are minimal. The webrev with the changes
is here:
http://cr.openjdk.java.net/~alanb/8021946/webrev/
This change requires a jdk7u reviewer as it is not a backport. It also
requires one of the jdk7u maintainers to approve this change for the
7u40 stabilization forest.
-Alan.
More information about the jdk7u-dev
mailing list