Java 7 -> Java8 code breakage scenarios

Maurizio Cimadamore maurizio.cimadamore at oracle.com
Thu Feb 28 07:56:42 PST 2013


On 28/02/13 15:54, Maurizio Cimadamore wrote:
> On 28/02/13 15:45, Boaz Nahum wrote:
>> Great. So just notify me.
>> Boaz
> Fix pushed. ;-)
>
Btw - to clarify; the fix doesn't remove the need for the extra 
dependency - but it allows the compiler to fail gracefully with the 
'class file for XYZ not found' message.

Maurizio

> Maurizio
>>
>>
>> On Thu, Feb 28, 2013 at 5:40 PM, Maurizio Cimadamore 
>> <maurizio.cimadamore at oracle.com 
>> <mailto:maurizio.cimadamore at oracle.com>> wrote:
>>
>>     On 28/02/13 15:32, Boaz Nahum wrote:
>>
>>         So can I stop my efforts reproducing 'rank' crash ?
>>         Actually I reproduce it, But I'm not able to isolate the case
>>         - I can
>>         easily build JDK and test it.
>>
>>         But if you want me to continue retry - no problem.
>>
>>     Let's do this. I will soon push a patch for the first crash in
>>     Flow. You can try if that patch also solves the other failure.
>>     That would help immensely.
>>
>>     Thanks
>>     Maurizio
>>
>>
>>         Boaz
>>
>>
>>         On Thu, Feb 28, 2013 at 3:46 PM, Maurizio Cimadamore <
>>         maurizio.cimadamore at oracle.com
>>         <mailto:maurizio.cimadamore at oracle.com>> wrote:
>>
>>             On 28/02/13 13:24, Boaz Nahum wrote:
>>
>>                 //C.java
>>
>>                   public class C {
>>
>>                           void test(B b) {
>>                               Tester.m(B.n());
>>                           }
>>                     }
>>
>>                     Which is the very one you got. If you'd be so
>>                     kind to give me some
>>                     details
>>                     about the other stack trace you were getting
>>                     (Types.rank) so that I can
>>                     come up with some test case (i.e. what is the
>>                     code that triggered it).
>>
>>                     Maurizio
>>
>>                       Yes exactly. If you named B.n() instead of
>>                     inline it in the method call
>>
>>                 then you got 'normal' error message.
>>                 The 'rank' exception - I'm working on it.
>>
>>                 Thanks !!!
>>                 Boaz
>>
>>                   I believe I got at the bottom of the issue - when a
>>                 completion error
>>
>>             (i.e. missing classfile) occurs in a nested context (i.e.
>>             method call), the
>>             compiler doesn't always report the error, because of some
>>             of the
>>             intricacies associated with lambda type-checking and
>>             nested method calls.
>>             Those errors should ALWAYS be reported, as a missing
>>             classfile error is a
>>             really bad condition that shouldn't be skipped. The fact
>>             that the compiler
>>             is not reporting them in certain cases lead javac to
>>             think that everything
>>             is ok, so that the subsequent compilation step can be
>>             executed - which is
>>             not true. Hence all the spurious crashes.
>>
>>             Maurizio
>>
>>
>>
>



More information about the lambda-dev mailing list