You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Rick Hillegas <ri...@gmail.com> on 2017/01/14 17:17:36 UTC

Re: JDK 9 EA Build 151 is available on java.net

On 1/10/17, 1:48 AM, Rory O'Donnell wrote:
>
>
> Hi Rick,
>
> Best wishes for the New Year.
>
> Dalibor and I will be at FOSDEM '17, Brussels 4 & 5 February. Let us 
> know if you will be there, hopefully we can meet up !
>
Hi Rory and Dalibor,

I won't be attending FOSDEM next month, so I'm afraid I won't see you.

I have taken build 151 for a test-drive. I'd hoped that it would fix the 
problems which surfaced in build 148.

Unfortunately, build 151 does not fix the following problem which 
surfaced in build 148: the failure of our test harness to find the 
derbyall suite. The problem seems to be that the Java 9 class loader no 
longer finds resources which the Java 8 class loader can locate. The 
following sample program demonstrates this problem. Compile this program 
with jdk 8 and put the derby jars on your classpath. This is the output 
when you run the program on jdk 8...

input stream = 
sun.net.www.protocol.jar.JarURLConnection$JarURLInputStream@3f99bd52

...and this is the output when you run the program on jdk 9...

input stream = null

Here is the program:

public class Derby6856_MissingResource
{
   public static void main(String... args) throws Exception
   {
     String resourceName = 
"/org/apache/derbyTesting/functionTests/suites/derbyall.properties";
     Class dummyClass = (new Object()).getClass();
     Object is = dummyClass.getResourceAsStream(resourceName);

     System.out.println("input stream = " + is);
   }
}

It appears that resource resolution has changed significantly in the 
recent builds of JDK 9. I expect that this change will be an unwelcome 
surprise to many users. I have a couple questions:

1) Is this new behavior a bug?

2) Is there a recommended workaround?

Thanks,
-Rick

> *JDK 9 Early Access* b151 <https://jdk9.java.net/download/>  is 
> available on java.net
>
> There have been a number of fixes to bugs reported by Open Source 
> projects since the last availability email  :
>
>     * JDK-8171377 : Add sun.misc.Unsafe::invokeCleaner
>     * JDK-8075793 : Source incompatibility for inference using -source 7
>     * JDK-8087303  : LSSerializer pretty print does not work anymore
>     * JDK-8167143 :CLDR timezone parsing does not work for all locales
>
> Other changes that maybe of interest:
>
>     * JDK-8066474 : Remove the lib/$ARCH directory from Linux and
>       Solaris images
>     * JDK-8170428 : Move src.zip to JDK/lib/src.zip
>
> *JEPs intergrated:*
>
>     * JEP 295 <http://openjdk.java.net/jeps/295>: Ahead-of-Time
>       Compilation has been integrated in b150.
>
> *Schedule - Milestones since last availability email *
>
>     * *Feature Extension Complete 22nd of December 2016*
>     * *Rampdown Started 5th of January 2017
>       *
>           o Phases in which increasing levels of scrutiny are applied
>             to incoming changes.
>           o In phase 1, only P1-P3 bugs can be fixed. In phase 2 only
>             showstopper bugs can be fixed.
>
> Rgds,Rory
>
> -- 
> Rgds,Rory O'Donnell
> Quality Engineering Manager
> Oracle EMEA , Dublin, Ireland


Re: JDK 9 EA Build 151 is available on java.net

Posted by Rick Hillegas <ri...@gmail.com>.
Thanks again, Dalibor. I asked jigsaw-dev for more information, and 
David Holmes explained the workaround to me. I have posted that response 
on https://issues.apache.org/jira/browse/DERBY-6856

Cheers,
-Rick

On 1/16/17, 3:04 AM, dalibor topic wrote:
> Hi Rick,
>
> On 14.01.2017 18:17, Rick Hillegas wrote:
>
>> Unfortunately, build 151 does not fix the following problem which
>> surfaced in build 148: the failure of our test harness to find the
>> derbyall suite. The problem seems to be that the Java 9 class loader no
>> longer finds resources which the Java 8 class loader can locate.
>
> There have indeed been some non-trivial changes in this area as a 
> consequence of 
> http://mail.openjdk.java.net/pipermail/jpms-spec-experts/2016-September/000392.html 
> (via 
> http://openjdk.java.net/projects/jigsaw/spec/issues/#ResourceEncapsulation) 
> - does that help?
>
> If not, then you may have run into a bug in the implementation - 
> please start a thread on jigsaw-dev in that case.
>
> cheers,
> dalibor topic
>


Re: JDK 9 EA Build 151 is available on java.net

Posted by Rick Hillegas <ri...@gmail.com>.
Thanks, Dalibor. I have forwarded the question to jigsaw-dev.

Cheers,
-Rick

On 1/16/17, 3:04 AM, dalibor topic wrote:
> Hi Rick,
>
> On 14.01.2017 18:17, Rick Hillegas wrote:
>
>> Unfortunately, build 151 does not fix the following problem which
>> surfaced in build 148: the failure of our test harness to find the
>> derbyall suite. The problem seems to be that the Java 9 class loader no
>> longer finds resources which the Java 8 class loader can locate.
>
> There have indeed been some non-trivial changes in this area as a 
> consequence of 
> http://mail.openjdk.java.net/pipermail/jpms-spec-experts/2016-September/000392.html 
> (via 
> http://openjdk.java.net/projects/jigsaw/spec/issues/#ResourceEncapsulation) 
> - does that help?
>
> If not, then you may have run into a bug in the implementation - 
> please start a thread on jigsaw-dev in that case.
>
> cheers,
> dalibor topic
>