Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.

Bug 396139

Summary: [1.8] define which JRE8 build we are targeting in BETA_JAVA8
Product: [Eclipse Project] JDT Reporter: Stephan Herrmann <stephan.herrmann>
Component: CoreAssignee: Manoj N Palat <manoj.palat>
Status: RESOLVED FIXED QA Contact:
Severity: normal    
Priority: P3 CC: aclement, anchakrk, daniel.dietrich, david_williams, jarthana, jesper, manju656, manoj.palat, markus.kell.r, noopur_gupta, shankhba, srikanth_sankaran
Version: 4.3Flags: srikanth_sankaran: review+
Target Milestone: BETA J8   
Hardware: PC   
OS: Linux   
Whiteboard:
Bug Depends on: 413913    
Bug Blocks: 380190    
Attachments:
Description Flags
Proposed Patch [b73] none

Description Stephan Herrmann CLA 2012-12-09 06:31:23 EST
Various regressions in the BETA_JAVA8 branch are caused by incompatible changes in the lambda-enabled JRE8.

Examples:
JavadocTestForClass had to be change back-and-forth in commits cc1c110e9641a2cecfab702ac9383376aefe030a and 5da4268a6e911ad3865241747a8e9714544fc990.

Manoj reported 103 test failures regarding the following types:
- java.util.Fillable
- java.util.functions.Mapper and sub-types
- java.util.functions.* vs. java.util.function.*
At a closer look this problem was caused by using a *newer* JRE8 than other team members. I can currently reproduce this kind of failure using a build 67 JRE.

Since the download page of project lambda only offers the latest beta build at any point in time, it is difficult to reproduce the exact same environment of another team member, unless we coordinate this upgrade process.

I propose to use this bug for tracking the current build version of the JRE8 against which all tests in BETA_JAVA8 should be green.

In HEAD I observe that b50 is too old for the current state of JavadocTestForClass. OTOH, b67 is too new for the current state of many other tests. Unfortunately, I don't have the builds in between.
Comment 1 Stephan Herrmann CLA 2012-12-09 06:34:26 EST
Marking as top-level blocker of the master bug 380190
Comment 2 Srikanth Sankaran CLA 2012-12-10 01:31:16 EST
(In reply to comment #0)
> I propose to use this bug for tracking the current build version of the JRE8
> against which all tests in BETA_JAVA8 should be green.

+1.

> In HEAD I observe that b50 is too old for the current state of
> JavadocTestForClass. OTOH, b67 is too new for the current state of many
> other tests. Unfortunately, I don't have the builds in between.

We are trying to upgrade to b67, this will take a couple of days or so.
Comment 3 Stephan Herrmann CLA 2012-12-10 20:12:50 EST
(In reply to comment #2)
> > In HEAD I observe that b50 is too old for the current state of
> > JavadocTestForClass. OTOH, b67 is too new for the current state of many
> > other tests. Unfortunately, I don't have the builds in between.
> 
> We are trying to upgrade to b67, this will take a couple of days or so.

Great. 
Do you have any background info regarding the library changes?
Comment 4 Jay Arthanareeswaran CLA 2012-12-11 00:18:49 EST
There is a new bug (bug 396000) reported on master which might be related to this, though I am not entirely sure.
Comment 5 Srikanth Sankaran CLA 2012-12-11 03:07:27 EST
(In reply to comment #4)
> There is a new bug (bug 396000) reported on master which might be related to
> this, though I am not entirely sure.

There are lots of mails about "lambdaification" of various existing APIs.
Not sure which one is relevant here,
Comment 6 Stephan Herrmann CLA 2013-01-07 18:45:12 EST
(In reply to comment #2)
> (In reply to comment #0)
> > I propose to use this bug for tracking the current build version of the JRE8
> > against which all tests in BETA_JAVA8 should be green.
> 
> +1.
> 
> > In HEAD I observe that b50 is too old for the current state of
> > JavadocTestForClass. OTOH, b67 is too new for the current state of many
> > other tests. Unfortunately, I don't have the builds in between.
> 
> We are trying to upgrade to b67, this will take a couple of days or so.

Is b67 the current reference or are we still between and betwixt several versions?
Comment 7 Srikanth Sankaran CLA 2013-01-08 00:36:24 EST
(In reply to comment #6)

> Is b67 the current reference or are we still between and betwixt several
> versions?

This target is moving fast - b69 is probably what we should settle on.
I believe there are 117 failures out of 62430 with this JRE. We should
investigate these, clean up the tests and settle on it for a while.
Comment 8 Srikanth Sankaran CLA 2013-01-24 23:01:23 EST
(In reply to comment #7)

> This target is moving fast - b69 is probably what we should settle on.
> I believe there are 117 failures out of 62430 with this JRE. We should
> investigate these, clean up the tests and settle on it for a while.

Manoj, please on a top priority basis, analyze the issues with b73 so we
can all move to it. Stephan, do you have ready reference to commits where
you introduced some infrastructural support to handle library changes ?
Comment 9 Stephan Herrmann CLA 2013-01-25 11:15:19 EST
(In reply to comment #8)
> (In reply to comment #7)
> 
> > This target is moving fast - b69 is probably what we should settle on.
> > I believe there are 117 failures out of 62430 with this JRE. We should
> > investigate these, clean up the tests and settle on it for a while.
> 
> Manoj, please on a top priority basis, analyze the issues with b73 so we
> can all move to it.

Is b73 what we said the other day?
(I can't check my latest download because I'm at a different machine right now)
If not, let's please skip b73, because it's no longer available.
Today's version is b74 <sigh>

> Stephan, do you have ready reference to commits where
> you introduced some infrastructural support to handle library changes ?

You mean stuff like attachment 220709 [details] (from bug 388800)?
Comment 10 Stephan Herrmann CLA 2013-01-25 11:19:11 EST
(In reply to comment #9)
> > Stephan, do you have ready reference to commits where
> > you introduced some infrastructural support to handle library changes ?
> 
> You mean stuff like attachment 220709 [details] (from bug 388800)?

Wait, that commit was later reverted by http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?id=dd3bff4d99a5193497eb7e3c0e1bc46a32b7c36a on behalf of bug 388954 comment 2.
Comment 11 Stephan Herrmann CLA 2013-01-26 13:13:58 EST
(In reply to comment #9)
> Is b73 what we said the other day?
> (I can't check my latest download because I'm at a different machine right now)
> If not, let's please skip b73, because it's no longer available.
> Today's version is b74 <sigh>

I checked: my latest download was b69. I'm downloading b74 now, but I'm not able to get a b73 anywhere (for linux that is).
Comment 12 Stephan Herrmann CLA 2013-01-26 14:48:46 EST
I was mostly expecting regressions due to changes in the libraries, but here's an unexpected one:

DefaultMethodsTest.testModifiers5() now fails with:
	java.lang.ClassFormatError: Method foo in class I has illegal modifiers: 0x1

There's some change in the VM between b67 (OK) and b69 (broken).
Maybe the VM is now expecting a modifier for default methods? I haven't yet seen such modifier in any spec!
Comment 13 Stephan Herrmann CLA 2013-01-26 17:41:44 EST
When working on adapting our tests to a recent jre be sure to pull the fix for bug 390883, which incidentally resolved about a third of the regressions :)
Comment 14 Srikanth Sankaran CLA 2013-01-27 00:47:24 EST
(In reply to comment #10)

> Wait, that commit was later reverted by
> http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/
> ?id=dd3bff4d99a5193497eb7e3c0e1bc46a32b7c36a on behalf of bug 388954 comment
> 2.

Yep, Thanks.

You can move to b74, we will follow suit shortly.
Comment 15 Manoj N Palat CLA 2013-01-28 23:22:35 EST
Created attachment 226235 [details]
Proposed Patch [b73]

This patch addresses 118 failures of the total 119 failures found. Will raise a separate bug for the single failure
Comment 16 Srikanth Sankaran CLA 2013-02-27 01:03:14 EST
Next upgrade planned is to 8b80 - I see 8b77 is the latest. Please track
and download when 8b80 becomes available.
Comment 17 Srikanth Sankaran CLA 2013-03-17 03:50:44 EDT
We will shortly upgrade to 8b80 or 8b81. Please prepare for it.
Comment 18 Stephan Herrmann CLA 2013-03-17 10:23:15 EDT
(In reply to comment #17)
> We will shortly upgrade to 8b80 or 8b81. Please prepare for it.

Looking today I notice I missed 8b80 (linux x86), so can be please use 8b81?
thanks
Comment 19 Srikanth Sankaran CLA 2013-03-17 12:12:53 EDT
(In reply to comment #18)
> (In reply to comment #17)
> > We will shortly upgrade to 8b80 or 8b81. Please prepare for it.
> 
> Looking today I notice I missed 8b80 (linux x86), so can be please use 8b81?

8b81 sounds good. If you _happen_ to run tests using this JDK, please share
results. Manoj is tasked with addressing failures and raising bugs or adjusting
testsuites for JDK upgrades but if this is a NOP, it is good to know.
Comment 20 Stephan Herrmann CLA 2013-03-17 18:35:40 EDT
(In reply to comment #19)
> (In reply to comment #18)
> > (In reply to comment #17)
> > > We will shortly upgrade to 8b80 or 8b81. Please prepare for it.
> > 
> > Looking today I notice I missed 8b80 (linux x86), so can be please use 8b81?
> 
> 8b81 sounds good. If you _happen_ to run tests using this JDK, please share
> results. Manoj is tasked with addressing failures and raising bugs or
> adjusting
> testsuites for JDK upgrades but if this is a NOP, it is good to know.

I did run some tests, and remember two failures because of a method
"spliterator", which I assume is a newly introduced default method,
that needs explicit overrides in a few tests for disambiguation.
Comment 21 Srikanth Sankaran CLA 2013-03-20 06:24:32 EDT
All, please upgrade to 8b81 - test results should be all green. Thanks.
Comment 22 Srikanth Sankaran CLA 2013-05-13 01:40:42 EDT
All, Please grab a copy of 8b90 when it becomes available. (b89 is the latest
as of now).

Manoj, let us all upgrade to 8b90 as the reference compiler as soon as it
becomes available. Run the test suite, disable failing tests and raise a
follow up bug to address the failures. If the failures are small in number
(< 100), I would move forward to 8b90 without waiting for the tests to all
be green and reenabled. TIA.
Comment 23 Stephan Herrmann CLA 2013-05-22 17:40:25 EDT
(In reply to comment #22)
> All, Please grab a copy of 8b90 when it becomes available. (b89 is the latest
> as of now).

It seems we are no longer speaking of the lambda specific download?
On the lambda download page I still see b88 as the latest.

OTOH, the regular "JDK™ 8 Early Access Release" download does have a b90 by
now and from a smoke test it seems to have lambda support baked in.

So that's the one we're currently targeting?

Sorry if I'm a bit slow, I never saw any announcement that the lambda branch
was merged into the main thing.
Comment 24 Jesper Moller CLA 2013-05-22 17:49:42 EDT
(In reply to comment #23)
> It seems we are no longer speaking of the lambda specific download?
> On the lambda download page I still see b88 as the latest.
> 
> OTOH, the regular "JDK™ 8 Early Access Release" download does have a b90 by
> now and from a smoke test it seems to have lambda support baked in.

For a while it's been so that the regular EA had some lambda support, but it's a bit dated, especially in the libraries part.

I'm guessing it should work for us, though.
Comment 25 Manoj N Palat CLA 2013-06-18 01:34:30 EDT
Please upgrade to b92. Bug 410402 addresses the b92 failures.
Comment 26 Manoj N Palat CLA 2013-08-01 02:15:52 EDT
Please upgrade to b100 as the corresponding Bug 413913 is resolved
Comment 27 Andrew Clement CLA 2013-08-29 12:42:02 EDT
Running with b100 I'm getting this for some tests using method references:

java.lang.IncompatibleClassChangeError
	at java.lang.invoke.MethodHandleNatives.linkMethodHandleConstant(MethodHandleNatives.java:383)
	at X.main(X.java:6)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:491)

Am I doing something wrong? I also tried b102, same thing.
Comment 28 Manoj N Palat CLA 2013-08-29 12:44:22 EDT
(In reply to comment #27)
> Running with b100 I'm getting this for some tests using method references:
> 
> java.lang.IncompatibleClassChangeError
> 	at
> java.lang.invoke.MethodHandleNatives.
> linkMethodHandleConstant(MethodHandleNatives.java:383)
> 	at X.main(X.java:6)
> 	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
> 	at
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
> 	at
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.
> java:43)
> 	at java.lang.reflect.Method.invoke(Method.java:491)
> 
> Am I doing something wrong? I also tried b102, same thing.

Andrew: This is a known issue. More details at bug 413913 comment 4 and follow up comments.
Comment 29 Srikanth Sankaran CLA 2013-09-13 01:39:43 EDT
Please, all upgrade to 8b104 at least or if you don't have access it and have
the more recent 8b106, to that. on 8b104 all tests should be green and 8b106
there could be one failure. IBM committers will catch up to 8b106 shortly as
soon as we are able to.
Comment 30 Stephan Herrmann CLA 2013-09-19 10:57:51 EDT
b106 has renamed 3 default methods in Comparator.

I've adjusted the tests via http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?h=BETA_JAVA8&id=9b4643830ee06b9ae3b83a25e11220a2814a6ade
Comment 31 Srikanth Sankaran CLA 2013-09-21 06:41:56 EDT
(In reply to Stephan Herrmann from comment #30)
> b106 has renamed 3 default methods in Comparator.
> 
> I've adjusted the tests via
> http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/
> ?h=BETA_JAVA8&id=9b4643830ee06b9ae3b83a25e11220a2814a6ade

I just upgraded to 8b108 on Windows 64. Java8 tests are green.
Comment 32 Manoj N Palat CLA 2013-09-23 02:58:45 EDT
(In reply to Srikanth Sankaran from comment #31)
> 
> I just upgraded to 8b108 on Windows 64. Java8 tests are green.

All, Please upgrade to b108.
Comment 33 Srikanth Sankaran CLA 2013-11-11 05:45:45 EST
All, please upgrade to 8b115. JDT/Core tests are green on windows/64
Comment 34 Srikanth Sankaran CLA 2013-11-11 07:06:07 EST
(In reply to Srikanth Sankaran from comment #33)
> All, please upgrade to 8b115. JDT/Core tests are green on windows/64

I noticed that when running RunAllJava8Tests, there are 8 failures in APT
tests - these are coming from javac runs and not ecj runs, so we can upgrade
right away and not allow these to hold us up.
Comment 35 Srikanth Sankaran CLA 2013-11-12 00:46:32 EST
(In reply to Srikanth Sankaran from comment #34)
> (In reply to Srikanth Sankaran from comment #33)
> > All, please upgrade to 8b115. JDT/Core tests are green on windows/64
> 
> I noticed that when running RunAllJava8Tests, there are 8 failures in APT
> tests - these are coming from javac runs and not ecj runs, so we can upgrade
> right away and not allow these to hold us up.

I have disabled the failing javac tests. So JDT/Core tests are all green with
8b115.
Comment 36 Stephan Herrmann CLA 2013-11-12 04:31:56 EST
I'm currently downloading the latest, just mine is called 8b114.

(In reply to Srikanth Sankaran from comment #33)
> All, please upgrade to 8b115. JDT/Core tests are green on windows/64

I assume 8b115 is just a typo. LMK if you indeed have a source for 8b115.
Comment 37 Srikanth Sankaran CLA 2013-11-12 08:42:14 EST
(In reply to Stephan Herrmann from comment #36)

> I assume 8b115 is just a typo. LMK if you indeed have a source for 8b115.

It was not a typo - but I am fairly certain the IBM internal mirror is mislabelling
them - I noticed a similar discrepancy earlier too. I'll alert them. Thanks!
Comment 38 Srikanth Sankaran CLA 2013-11-12 10:49:30 EST
(In reply to Srikanth Sankaran from comment #37)

> It was not a typo - but I am fairly certain the IBM internal mirror is
> mislabelling
> them - I noticed a similar discrepancy earlier too. I'll alert them. Thanks!

I am told this *is* 8b115 obtained by IBM through Oracle's partner program. So
perhaps the non-public downloads are updated ahead of public download site
by Oracle.
Comment 39 Stephan Herrmann CLA 2013-11-13 08:14:29 EST
Today I can also see 8b115. Confusing, but resolved :)
Comment 40 Srikanth Sankaran CLA 2013-12-18 20:16:24 EST
All, please upgrade to 8b120 for testing. Tests are green for JDT/Core (*) on
Windows x64 for me.

(*) Except for org.eclipse.jdt.core.tests.compiler.regression.GenericTypeTest.test1146()
which I have asked Stephan to take a look at.
Comment 41 Srikanth Sankaran CLA 2013-12-18 20:51:01 EST
We are on the latest JRE available. I don't see a reason for leaving this
bug open. In future communications on upgrades can be handled via email or
jdt-core-dev list.
Comment 42 Stephan Herrmann CLA 2014-02-15 07:37:53 EST
After upgrading from b126 to b129 I see a failure in GTT.test1035().

What's confusing:
At 1.7- this test should pass. Does COMPARATOR_IMPL_JRE8 need an update?

At 1.8 we want to see two errors and with b129 we do see them.

Would be cool to check what has changed (in Comparator?) between these versions.

Anyway we need to decide if we test against b129 and adjust this test.
Comment 43 David Williams CLA 2014-02-15 14:02:48 EST
(In reply to Stephan Herrmann from comment #42)
> After upgrading from b126 to b129 I see a failure in GTT.test1035().
> 
> What's confusing:
> At 1.7- this test should pass. Does COMPARATOR_IMPL_JRE8 need an update?
> 
> At 1.8 we want to see two errors and with b129 we do see them.
> 
> Would be cool to check what has changed (in Comparator?) between these
> versions.
> 
> Anyway we need to decide if we test against b129 and adjust this test.

I do use b129 in our "production builds" ... if that's a factor in deciding.
Comment 44 Stephan Herrmann CLA 2014-02-15 20:59:14 EST
Thanks, I've adjusted the tests to pass on b129.

Released via http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/?h=BETA_JAVA8&id=e282a51a768e93122fb029979cda6697735dca49
Comment 45 Srikanth Sankaran CLA 2014-02-16 03:58:13 EST
(In reply to Stephan Herrmann from comment #44)
> Thanks, I've adjusted the tests to pass on b129.
> 
> Released via
> http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/
> ?h=BETA_JAVA8&id=e282a51a768e93122fb029979cda6697735dca49

I am a little confused about this commit - this test fails on b129 with
2 errors, elsewhere you say it should issue error in 1.8, but it is a
conform test. Was GTT supposed to be a part of this commit and was
inadvertently omitted ?
Comment 46 Stephan Herrmann CLA 2014-02-16 06:30:07 EST
(In reply to Srikanth Sankaran from comment #45)
> (In reply to Stephan Herrmann from comment #44)
> > Thanks, I've adjusted the tests to pass on b129.
> > 
> > Released via
> > http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/
> > ?h=BETA_JAVA8&id=e282a51a768e93122fb029979cda6697735dca49
> 
> I am a little confused about this commit - this test fails on b129 with
> 2 errors, 

Which failures do you see? I had a full RunAllJava8Tests run green ...

> elsewhere you say it should issue error in 1.8, but it is a
> conform test. Was GTT supposed to be a part of this commit and was
> inadvertently omitted ?

No, before the fix I saw errors, but these were caused by incompatible implementations of Comparator, nothing intrinsic to the test it seems. As soon as I fixed COMPARATOR_IMPL_JRE8 the additional (desired) errors in GTT disappeared again :(
Comment 47 Srikanth Sankaran CLA 2014-02-16 06:35:15 EST
(In reply to Stephan Herrmann from comment #46)
> (In reply to Srikanth Sankaran from comment #45)
> > (In reply to Stephan Herrmann from comment #44)
> > > Thanks, I've adjusted the tests to pass on b129.
> > > 
> > > Released via
> > > http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/
> > > ?h=BETA_JAVA8&id=e282a51a768e93122fb029979cda6697735dca49
> > 
> > I am a little confused about this commit - this test fails on b129 with
> > 2 errors, 
> 
> Which failures do you see? I had a full RunAllJava8Tests run green ...

GTT.test1035() fails on windows with 8b129. The comment just above the test
says : // SHOULD FAIL AT 1.8 (RET): multiple

but it is a conform test.

I recall earlier once we had this situation where same build JRE was showing
different APIs and so different failures on linux vs windows. Perhaps another
instance ? 

ATM, I can live with just ignoring this.
Comment 48 Stephan Herrmann CLA 2014-02-16 06:42:25 EST
(In reply to Srikanth Sankaran from comment #47)
> (In reply to Stephan Herrmann from comment #46)
> > (In reply to Srikanth Sankaran from comment #45)
> > > (In reply to Stephan Herrmann from comment #44)
> > > > Thanks, I've adjusted the tests to pass on b129.
> > > > 
> > > > Released via
> > > > http://git.eclipse.org/c/jdt/eclipse.jdt.core.git/commit/
> > > > ?h=BETA_JAVA8&id=e282a51a768e93122fb029979cda6697735dca49
> > > 
> > > I am a little confused about this commit - this test fails on b129 with
> > > 2 errors, 
> > 
> > Which failures do you see? I had a full RunAllJava8Tests run green ...
> 
> GTT.test1035() fails on windows with 8b129. The comment just above the test
> says : // SHOULD FAIL AT 1.8 (RET): multiple

You seeing that failure is good news.

Did you check 1.7- modes? Do those fail, too?
 
> I recall earlier once we had this situation where same build JRE was showing
> different APIs and so different failures on linux vs windows. Perhaps another
> instance ? 

Sounds like it. I just reran GTT.1035 on linux 8b129 and it's green as a conform test. :(

Kind of weird, huh?
Comment 49 Srikanth Sankaran CLA 2014-02-20 23:32:56 EST
I'll leave this REOPENed state till we resolve the present situation where
using 8b129, we see some errors in GTT on Windows, while the run on Linux
is clean. Looks like the JREs on these platforms are not in sync. Earlier
once we had a similar problem. This should hopefully resolve itself as we
upgrade to a newer JRE.
Comment 50 Srikanth Sankaran CLA 2014-03-05 09:12:10 EST
(In reply to Stephan Herrmann from comment #48)

> You seeing that failure is good news.
> 
> Did you check 1.7- modes? Do those fail, too?

Yes it seems to fail on all modes on Windows.
Comment 51 Srikanth Sankaran CLA 2014-03-07 20:56:44 EST
Manoj, please download the latest (8b131 or is it 132 ?), run all tests to verify
all is well and see if the failure in GTT goes away. TIA.
Comment 52 Srikanth Sankaran CLA 2014-03-07 20:57:58 EST
(In reply to Srikanth Sankaran from comment #51)
> Manoj, please download the latest (8b131 or is it 132 ?), run all tests to
> verify
> all is well and see if the failure in GTT goes away. TIA.

Stephan, please likewise test with 8b132 on Linux and report observations, TIA
Comment 53 Stephan Herrmann CLA 2014-03-08 06:20:57 EST
(In reply to Srikanth Sankaran from comment #52)
> (In reply to Srikanth Sankaran from comment #51)
> > Manoj, please download the latest (8b131 or is it 132 ?), run all tests to
> > verify
> > all is well and see if the failure in GTT goes away. TIA.
> 
> Stephan, please likewise test with 8b132 on Linux and report observations,
> TIA

I already had a green run of RunAllJava8Test with this jre.
Comment 54 Srikanth Sankaran CLA 2014-03-08 08:13:56 EST
(In reply to Stephan Herrmann from comment #53)

> I already had a green run of RunAllJava8Test with this jre.

OK, we have a mystery in our hands.

If I grab the program file after "preprocessing" via string substitutions is
done and feed it to javac 8b131

    - It compiles fine in 1.8 and (in cross compile modes) 1.7, 1.6. and 1.5
    - In the eclipse *IDE* it compiles fine in 1.5 - 1.8
    - You say the junit passes in Linux as a conform test for you in 1.5 - 1.8

Stephan, can you confirm this compiles fine on Linux using javac both native
and cross compile modes ?  

So without analyzing the merits of the case, the evidence strongly points
to this being a conform test.

Question: why would this fail under junit on Windows ? I'll follow up.
Comment 55 Srikanth Sankaran CLA 2014-03-09 03:52:22 EDT
(In reply to Srikanth Sankaran from comment #54)

> Question: why would this fail under junit on Windows ? I'll follow up.

Mystery indeed. Shorter test case:

// --
import java.util.Comparator;
class ComparableComparator<T extends Comparable<? super T>> implements Comparator<T> {
	public int compare(T obj1, T obj2) {
		return obj1.compareTo(obj2);
	}
	public <U> java.util.Comparator<T> thenComparing(java.util.function.Function<? super T, ? extends U> keyExtractor, java.util.Comparator<? super U> keyComparator) { return null;}
}


Fails as a junit, compiles in IDE + javac. Under investigation.
Comment 56 Srikanth Sankaran CLA 2014-03-09 05:52:04 EDT
(In reply to Srikanth Sankaran from comment #55)

> Fails as a junit, compiles in IDE + javac. Under investigation.


Turned out to be a set up issue. My JRE path claiming to be 8b131,
but was actually pointing to 8b126 contents.

Deleting and readding 8b131 fixed the issue.
Comment 57 Srikanth Sankaran CLA 2014-03-09 05:52:55 EDT
All, please upgrade to 8b131 or 8b132.