there is a bug in openjdk7.
Andrew Hughes
gnu.andrew at redhat.com
Wed Aug 7 17:46:44 PDT 2013
----- Original Message -----
> On 8/6/13 5:30 PM, Andrew Hughes wrote:
> > I don't know if this is the right fix or not.
>
> Well, that seems to be the core of your problem. I guess someone will have to
> investigate and find out if it is the right fix or not.
>
> > I'm just going by the little information
> > that is available from the bug report, which is very confusing. What is
> > clear
> > to me from the bug report is there is some difference between OpenJDK u25
> > and
> > Oracle u25, and no-one has yet explained what that is.
>
> Has it never occurred to you that it may be a difference between OpenJDK and
> whatever
> patches IcedTea adds? Or a difference between IcedTea and whatever Ubuntu
> ships
> patched on top of that as Icedtea? Or a syncing mistake on behalf of whoever
> did the
> syncing?
>
> Who knows? The one who investigates. The rational way to investigate that
> would be
> to start with the Ubuntu build, try to reproduce the issue, compare it with a
> plain
> IcedTea build on Ubuntu, etc. I've seen no evidence so far of any of that
> work having
> been done ...
>
Ok, the issue was none of the above.
I was able to get a build of OpenJDK 7 u25 b16 eventually, though it seems
there is no tag in the HotSpot repository (had to use u25b15 there...?) and
the lack of 7110151 caused a build failure. With that applied, the reproducer
on https://bugzilla.redhat.com/show_bug.cgi?id=976693 gave the same results
as for the proprietary release.
Diffing this and 2.3.10 reveals this difference, which is clearly the cause:
diff --git a/src/share/native/sun/reflect/Reflection.c b/src/share/native/sun/reflect/Reflection.c
--- a/src/share/native/sun/reflect/Reflection.c
+++ b/src/share/native/sun/reflect/Reflection.c
@@ -37,9 +37,7 @@
JNIEXPORT jclass JNICALL Java_sun_reflect_Reflection_getCallerClass0
(JNIEnv *env, jclass unused, jint depth)
{
- // Until there is hotspot @CallerSensitive support,
- // depth must always be 2 to get the immediate caller
- return JVM_GetCallerClass(env, 2);
+ return JVM_GetCallerClass(env, depth);
}
JNIEXPORT jint JNICALL Java_sun_reflect_Reflection_getClassAccessFlags
Tracing the changeset history, this seems to have occurred because the version
of 8010118 we were supplied with ahead of time, for the security release, differs
significantly from that which was eventually posted upstream as part of OpenJDK 7
u25:
550 +++++++++++++++++++++-----------------------
1 file changed, 264 insertions(+), 286 deletions(-)
I'm not sure what that patch was against, but it doesn't match either the IcedTea
or u25 version exactly, and this seems to have created the possibility of merge
errors.
Incidentally, 2.4 does not contain this merge error as it was updated directly
from upstream with no application of Oracle-supplied patches.
> > If it's not this changeset,
> > which changesets are missing? Maybe you could provide that information
> > rather than
> > trying to blame us for not syncing up with something that doesn't exist.
>
> I'm not blaming you for anything. You have proposed a conspiracy theory about
> the 8014925
> changeset, and I simply debunked it.
It certainly seems like passing the blame when you redirect the reporter to
our mailing list without first ascertaining whether OpenJDK u25 is at fault or
not.
As to 8014925, etc. I was mislead by both this conversation and the bug report
into believing the solution lies somewhere in changes made in u40. We now
know it doesn't.
>
> If you'd like to know which changes have been bulk integrated as part of
> http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-June/006780.html
> you can take a look at the corresponding pushes at
> http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-June/006785.html
> http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-June/006787.html
> http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-June/006788.html
> http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-June/006786.html
> http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-June/006789.html
> http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-June/006798.html
> http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-June/006790.html
>
We pulled from the u25b16 tag:
http://icedtea.classpath.org/hg/release/icedtea7-forest-2.3/jdk
> I have no idea if all of those changes are in IcedTea 2.3.x, or not.
> That's something you'll have to know or find out if you don't. There
> has been a rapid fire of IcedTea releases in the last months, so that it's
> hard for me to guess what ended up in which one, and which one ended up
> in which distribution with what patches on top of that.
There has been a "rapid fire" of IcedTea releases to match the "rapid fire"
of security releases. The same would be true of OpenJDK 7 if it bothered
to make security releases. Instead, users of OpenJDK 7 are supposed to use
a version that is still prone to over a hundred known security issues.
If a distribution adds further patches, then that's their own problem. That's
not the issue here, as I already said, because the same bug was reported in
Fedora and Ubuntu.
>
> >From the first entry at https://bugzilla.redhat.com/show_bug.cgi?id=976693 ,
> it sounds like whoever pulled those changes in into IcedTea didn't pull in
> 8014745, which was synced into OpenJDK 7u as part of the bulk integration
> above as
> http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-June/006798.html
> clearly shows. So was 8010118, the other issue mentioned in that e-mail.
>
> I have no idea whether that's true and if so, what else the person doing
> the integration into IcedTea might have missed. Again, this is where someone
> from Icedtea needs to figure out if that's the case or not on Ubuntu, or
> on whatever other distribution you're seeing bug reports from.
>
It's very easy to check the release notes for 2.3.10:
http://blog.fuseyism.com/index.php/2013/06/28/security-icedtea-2-3-10-for-openjdk-7-released/
where you will see both of those listed.
> > Ok. So are fixes for this issue being considered "customer issues" and
> > not shared with OpenJDK?
>
> The fix for the regression in 7u25 (8016814) was discussed here, as you can
> see from the
> links in the previous mail I sent to the list, and pushed into 7u40 a while
> ago:
> http://mail.openjdk.java.net/pipermail/jdk7u-dev/2013-June/006914.html
>
> > Then tell me what needs to be pulled in, because clearly OpenJDK u25 is
> > inadequate.
>
> Have you cloned jdk7u25-b16 from the forest, built that on Ubuntu and
> determined that it has the same issue? Have you done so for IcedTea?
> Have you checked that all the changes that are supposed to be synced up are
> actually synced up? Have you checked that there were no merge errors?
>
See above. The issue was due to a faulty patch being provided by Oracle.
> > the bug report is still open. As Oracle engineers have also stated, the
> > issue
> > is fixed in u40 and 2.4.1 is based on u40 b31. 2.3.x is based on u6 with
> > the
>
> OK, so 7u25 in RHEL 6 is basically a snapshot of jdk7u-dev from June?
> Interesting.
>
No. 7u40 is in RHEL 6, not 7u25. b31 to be precise.
This was actually the first I'd heard of RHEL using 2.4.x, but it seems to have
been beneficial in this case.
> cheers,
> dalibor topic
> --
> Oracle <http://www.oracle.com>
> Dalibor Topic | Principal Product Manager
> Phone: +494089091214 <tel:+494089091214> | Mobile: +491737185961
> <tel:+491737185961>
> Oracle Java Platform Group
>
> ORACLE Deutschland B.V. & Co. KG | Kühnehöfe 5 | 22761 Hamburg
>
> ORACLE Deutschland B.V. & Co. KG
> Hauptverwaltung: Riesstr. 25, D-80992 München
> Registergericht: Amtsgericht München, HRA 95603
> Geschäftsführer: Jürgen Kunz
>
> Komplementärin: ORACLE Deutschland Verwaltung B.V.
> Hertogswetering 163/167, 3543 AS Utrecht, Niederlande
> Handelsregister der Handelskammer Midden-Niederlande, Nr. 30143697
> Geschäftsführer: Alexander van der Ven, Astrid Kepper, Val Maher
>
> Green Oracle <http://www.oracle.com/commitment> Oracle is committed to
> developing practices and products that help protect the environment
>
--
Andrew :)
Free Java Software Engineer
Red Hat, Inc. (http://www.redhat.com)
PGP Key: 248BDC07 (https://keys.indymedia.org/)
Fingerprint = EC5A 1F5E C0AD 1D15 8F1F 8F91 3B96 A578 248B DC07
More information about the jdk7u-dev
mailing list