hg: jigsaw/jigsaw: 14 new changesets

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

hg: jigsaw/jigsaw: 14 new changesets

Mandy Chung
Changeset: 4e06ae613e99
Author:    katleman
Date:      2011-12-01 10:33 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/4e06ae613e99

Added tag jdk8-b15 for changeset a4f28069d44a

! .hgtags

Changeset: 8606f4ab62dc
Author:    katleman
Date:      2011-12-15 12:16 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/8606f4ab62dc

Added tag jdk8-b17 for changeset 4e06ae613e99

! .hgtags

Changeset: d82d3bb3a2e5
Author:    katleman
Date:      2011-12-15 15:47 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/d82d3bb3a2e5

Added tag jdk8-b16 for changeset 4e06ae613e99

! .hgtags

Changeset: 7010bd24cdd0
Author:    katleman
Date:      2011-12-15 15:51 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/7010bd24cdd0

Merge

! .hgtags

Changeset: e1fc13802e0c
Author:    cl
Date:      2011-12-22 19:00 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/e1fc13802e0c

Added tag jdk8-b18 for changeset 7010bd24cdd0

! .hgtags

Changeset: 9acd7374ff8a
Author:    ohair
Date:      2011-12-12 08:11 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/9acd7374ff8a

7119829: Adjust default jprt testing configuration
Reviewed-by: alanb

! make/jprt.properties
! test/Makefile

Changeset: 00d13c40d7a7
Author:    lana
Date:      2011-12-15 19:49 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/00d13c40d7a7

Merge


Changeset: 237bc29afbfc
Author:    lana
Date:      2011-12-23 16:36 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/237bc29afbfc

Merge


Changeset: 5a5eaf6374bc
Author:    katleman
Date:      2011-12-29 15:14 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/5a5eaf6374bc

Added tag jdk8-b19 for changeset 237bc29afbfc

! .hgtags

Changeset: cc771d92284f
Author:    katleman
Date:      2012-01-05 08:42 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/cc771d92284f

Added tag jdk8-b20 for changeset 5a5eaf6374bc

! .hgtags

Changeset: 7ad075c80995
Author:    katleman
Date:      2012-01-13 10:05 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/7ad075c80995

Added tag jdk8-b21 for changeset cc771d92284f

! .hgtags

Changeset: 60d6f64a86b1
Author:    katleman
Date:      2012-01-20 13:08 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/60d6f64a86b1

Added tag jdk8-b22 for changeset 7ad075c80995

! .hgtags

Changeset: 1a5f1d6b98d6
Author:    katleman
Date:      2012-01-26 18:23 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/1a5f1d6b98d6

Added tag jdk8-b23 for changeset 60d6f64a86b1

! .hgtags

Changeset: 51c793afb1eb
Author:    mchung
Date:      2012-01-30 21:10 -0800
URL:       http://hg.openjdk.java.net/jigsaw/jigsaw/rev/51c793afb1eb

Merge

! .hgtags
! make/jprt.properties
! test/Makefile

Reply | Threaded
Open this post in threaded view
|

jigsaw now sync'ed with jdk8-b23

Mandy Chung

Reply | Threaded
Open this post in threaded view
|

Re: jigsaw now sync'ed with jdk8-b23

Ludovic HOCHET
Hello,
I tried building the latest source, but I'm having the following when
trying to launch jconsole:

ludovic@jigsaw-vm:~/dev/jigsaw$ export
JIG=~/dev/jigsaw/build/linux-i586/jdk-module-image
ludovic@jigsaw-vm:~/dev/jigsaw$ $JIG/bin/java -m jdk.jconsole
Exception in thread "main" java.util.ServiceConfigurationError:
sun.java2d.pipe.RenderingEngine: Provider
sun.java2d.jules.JulesRenderingEngine not found
    at java.util.ServiceLoader.fail(ServiceLoader.java:231)
    at java.util.ServiceLoader.access$400(ServiceLoader.java:181)
    at java.util.ServiceLoader$LazyIterator.next(ServiceLoader.java:367)
    at java.util.ServiceLoader$1.next(ServiceLoader.java:438)
    at sun.java2d.pipe.RenderingEngine$1.run(RenderingEngine.java:140)
    at sun.java2d.pipe.RenderingEngine$1.run(RenderingEngine.java:121)
    at java.security.AccessController.doPrivileged(Native Method)
    at sun.java2d.pipe.RenderingEngine.getInstance(RenderingEngine.java:121)
    at sun.java2d.pipe.LoopPipe.<clinit>(LoopPipe.java:55)
    at sun.java2d.SurfaceData.<clinit>(SurfaceData.java:448)
    at sun.awt.X11GraphicsEnvironment$1.run(X11GraphicsEnvironment.java:132)
    at java.security.AccessController.doPrivileged(Native Method)
    at
sun.awt.X11GraphicsEnvironment.<clinit>(X11GraphicsEnvironment.java:74)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:186)
    at java.awt.GraphicsEnvironment.createGE(GraphicsEnvironment.java:102)
    at
java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:81)
    at sun.awt.X11.XToolkit.<clinit>(XToolkit.java:121)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:186)
    at java.awt.Toolkit$2.run(Toolkit.java:870)
    at java.awt.Toolkit$2.run(Toolkit.java:863)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:862)
    at
javax.swing.UIManager.getSystemLookAndFeelClassName(UIManager.java:604)
    at sun.tools.jconsole.JConsole.<clinit>(JConsole.java:64)


On Tue, Jan 31, 2012 at 06:58, Mandy Chung <[hidden email]> wrote:

>
>


--
Ludovic
-----------------------------------------

"Les formes qui differencient les etres importent peu
 si leur pensees s'unissent pour batir un univers..."
 Yoko Tsuno (in 'Les titans' by Roger Leloup)
 [The shapes that differenciate beings are not important
 if their thoughts unite to build a universe]
Reply | Threaded
Open this post in threaded view
|

Re: jigsaw now sync'ed with jdk8-b23

Mandy Chung
On 1/31/2012 2:07 PM, Ludovic HOCHET wrote:
> Hello,
> I tried building the latest source, but I'm having the following when
> trying to launch jconsole:
>

Thanks for reporting it.
> ludovic@jigsaw-vm:~/dev/jigsaw$ export
> JIG=~/dev/jigsaw/build/linux-i586/jdk-module-image
> ludovic@jigsaw-vm:~/dev/jigsaw$ $JIG/bin/java -m jdk.jconsole
> Exception in thread "main" java.util.ServiceConfigurationError:
> sun.java2d.pipe.RenderingEngine: Provider
> sun.java2d.jules.JulesRenderingEngine not found

This depends on the services support that Alan is working on [1].   The
service loader is not yet module-aware.  Prior to the module views and
exports change, all public types including
sun.java2d.jules.JulesRenderingEngine are exported and that's why it was
working previously.

sun.java2d.pipe.RenderingEngine calls ServiceLoader.loadInstalled method
to create a new service loader using the extension class loader.  In
module mode, there isn't any extension class loader but instead it
should use the caller's module loader.

Alan, what do you think to integrate the change you have in the
ServiceLoader class that uses the proper module loader in module mode
first?   I think that can be separated from the services work.

Mandy
[1]
http://mail.openjdk.java.net/pipermail/jigsaw-dev/2011-December/001819.html
Reply | Threaded
Open this post in threaded view
|

Re: jigsaw now sync'ed with jdk8-b23

Alan Bateman
On 31/01/2012 23:49, Mandy Chung wrote:

>
> This depends on the services support that Alan is working on [1].  
> The service loader is not yet module-aware.  Prior to the module views
> and exports change, all public types including
> sun.java2d.jules.JulesRenderingEngine are exported and that's why it
> was working previously.
>
> sun.java2d.pipe.RenderingEngine calls ServiceLoader.loadInstalled
> method to create a new service loader using the extension class
> loader.  In module mode, there isn't any extension class loader but
> instead it should use the caller's module loader.
>
> Alan, what do you think to integrate the change you have in the
> ServiceLoader class that uses the proper module loader in module mode
> first?   I think that can be separated from the services work.
I re-based the services patch after the views+exports work was pushed
and just checked that it has the right declarations:

$ jmod ls -v
:
jdk.desktop@8-ea
   :
   requires service sun.java2d.pipe.RenderingEngine
   :
   provides service sun.java2d.pipe.RenderingEngine with
sun.java2d.jules.JulesRenderingEngine
   provides service sun.java2d.pipe.RenderingEngine with
sun.java2d.pisces.PiscesRenderingEngine

I don't think the ServiceLoader changes on their own will fix this as it
requires the services changes in the runtime. As many things are
currently broken then I think I should just get the first version in. I
have a second patch to it in the works that re-works the Resolver code
to handle services dependencies properly (the first version was to get
things working).

-Alan


Reply | Threaded
Open this post in threaded view
|

Re: jigsaw now sync'ed with jdk8-b23

Alan Bateman
On 01/02/2012 09:30, Alan Bateman wrote:

> I re-based the services patch after the views+exports work was pushed
> and just checked that it has the right declarations:
>
> $ jmod ls -v
> :
> jdk.desktop@8-ea
>   :
>   requires service sun.java2d.pipe.RenderingEngine
>   :
>   provides service sun.java2d.pipe.RenderingEngine with
> sun.java2d.jules.JulesRenderingEngine
>   provides service sun.java2d.pipe.RenderingEngine with
> sun.java2d.pisces.PiscesRenderingEngine
>
> I don't think the ServiceLoader changes on their own will fix this as
> it requires the services changes in the runtime. As many things are
> currently broken then I think I should just get the first version in.
> I have a second patch to it in the works that re-works the Resolver
> code to handle services dependencies properly (the first version was
> to get things working).
>
> -Alan
Actually I think you're right, we can take some of the SL changes to get
a bit further but we run into another issue with a Class.forName usage
in sun.font.FontManagerFactory. Here's the webrev the patch to get it going:

http://cr.openjdk.java.net/~alanb/fmf-patch/webrev/

-Alan.
Reply | Threaded
Open this post in threaded view
|

Re: jigsaw now sync'ed with jdk8-b23

Mandy Chung
On 2/1/2012 10:41 AM, Alan Bateman wrote:
> Actually I think you're right, we can take some of the SL changes to
> get a bit further but we run into another issue with a Class.forName
> usage in sun.font.FontManagerFactory.

Thanks for getting the fix for it.   I missed this issue when testing
the module views work.

Oh yeah, this is one of those in the jdk implementation that depends on
the tradition class loading delegation model.  At some point, we'll look
at all class-loader related usage.

> Here's the webrev the patch to get it going:
>
> http://cr.openjdk.java.net/~alanb/fmf-patch/webrev/

FontManagerFactory.java
    L78:  It's fine to call BootLoader.getSystemLoader() as a workaround
for now.
    This assumes that the class is visible to the BootLoader and it works in
    the current prototype since jdk.desktop requires local
jdk.base.internal.
    It'll fail if an alternate class specified through the property is in
    another module.  I think it would use the module loader loading this
    FontManagerFactory class.  I have a patch that adds the
    Class.getModuleClassLoader method but it's coupled with the legacy
    mode support.  I can modify this FontManagerFactory class in the legacy
    mode support work.

ServiceLoader.java
    L482, 515, 548: seems like it's time to add a convenient method to
determine
    if it's in module mode or legacy mode. In the current prototype,
BootLoader
    only gets created in module mode but it may also be created with the
    legacy mode support.   If it gets changed, this would be isolated in
this
    single method. (sorry I should have added that convenient method in my
    last changeset).

    L483: if loader == null, should it use BootLoader.getSystemLoader()
instead?

Mandy
Reply | Threaded
Open this post in threaded view
|

Re: jigsaw now sync'ed with jdk8-b23

Alan Bateman
On 01/02/2012 19:47, Mandy Chung wrote:
>
> Thanks for getting the fix for it.   I missed this issue when testing
> the module views work.
>
> Oh yeah, this is one of those in the jdk implementation that depends
> on the tradition class loading delegation model.  At some point, we'll
> look at all class-loader related usage.
Right, and I'll sure we will have many of these.

>
> FontManagerFactory.java
>    L78:  It's fine to call BootLoader.getSystemLoader() as a
> workaround for now.
>    This assumes that the class is visible to the BootLoader and it
> works in
>    the current prototype since jdk.desktop requires local
> jdk.base.internal.
>    It'll fail if an alternate class specified through the property is in
>    another module.  I think it would use the module loader loading this
>    FontManagerFactory class.  I have a patch that adds the
>    Class.getModuleClassLoader method but it's coupled with the legacy
>    mode support.  I can modify this FontManagerFactory class in the
> legacy
>    mode support work.
In legacy mode it should work the way it has always worked and find the
font manager on the system class path. Not clear how it should work in
module mode so I decided that BootLoader would be the most sensible for
now.  I think this will need to be changed (several other places too)
once we are further along.

>
> ServiceLoader.java
>    L482, 515, 548: seems like it's time to add a convenient method to
> determine
>    if it's in module mode or legacy mode. In the current prototype,
> BootLoader
>    only gets created in module mode but it may also be created with the
>    legacy mode support.   If it gets changed, this would be isolated
> in this
>    single method. (sorry I should have added that convenient method in my
>    last changeset).
>
>    L483: if loader == null, should it use BootLoader.getSystemLoader()
> instead?
I don't think so because in module mode we want existing code that calls
it with null to use the caller's class loader. I agree we need to add a
method to indicate if are in module mode.

-Alan.


Reply | Threaded
Open this post in threaded view
|

Re: jigsaw now sync'ed with jdk8-b23

Mandy Chung
On 2/1/2012 12:01 PM, Alan Bateman wrote:
>>    L483: if loader == null, should it use
>> BootLoader.getSystemLoader() instead?
> I don't think so because in module mode we want existing code that
> calls it with null to use the caller's class loader. I agree we need
> to add a method to indicate if are in module mode.

Actually I wonder if the module-aware service loader should not accept
null loader in module mode as the service dependences are declared in
the module-info.   I know you are thinking about adding new API for
modules to use.  Since there are existing code that calls
ServiceLoader.load with a null loader, using caller's loader is fine for
now and the services work will revisit this.

Mandy
Reply | Threaded
Open this post in threaded view
|

Re: jigsaw now sync'ed with jdk8-b23

Ludovic HOCHET
In reply to this post by Mandy Chung
Today's change fixed that issue, thanks, so I went on rechecking my
Worldclock toy application [1] and got:
Exception in thread "main" java.lang.NoClassDefFoundError: java/lang/Object
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
    at
java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at
java.lang.module.ModuleClassLoader.defineClass(ModuleClassLoader.java:49)
    at org.openjdk.jigsaw.Loader.finishFindingClass(Loader.java:240)
    at org.openjdk.jigsaw.Loader.findClass(Loader.java:184)
    at org.openjdk.jigsaw.Loader.loadClass(Loader.java:115)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
Caused by: java.lang.ClassNotFoundException: java.lang.Object : requested
by +lh.worldclock.application
    at org.openjdk.jigsaw.Loader.loadClass(Loader.java:113)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
    ... 9 more

This seemed to call for a missing jdk.base, and indeed adding it fixed the
issue (along with doing the same in the panel as well as exporting the
required package).

Is it now necessary to explicitely require jdk.base?

Ludovic

[1]:
http://lhochet.blogspot.com/2012/01/jigsaw-worldclock-with-maven-plugin.html

On Wed, Feb 1, 2012 at 00:49, Mandy Chung <[hidden email]> wrote:

> On 1/31/2012 2:07 PM, Ludovic HOCHET wrote:
>
>> Hello,
>> I tried building the latest source, but I'm having the following when
>> trying to launch jconsole:
>>
>>
> Thanks for reporting it.
>
>  ludovic@jigsaw-vm:~/dev/**jigsaw$ export
>> JIG=~/dev/jigsaw/build/linux-**i586/jdk-module-image
>> ludovic@jigsaw-vm:~/dev/**jigsaw$ $JIG/bin/java -m jdk.jconsole
>> Exception in thread "main" java.util.**ServiceConfigurationError:
>> sun.java2d.pipe.**RenderingEngine: Provider
>> sun.java2d.jules.**JulesRenderingEngine not found
>>
>
> This depends on the services support that Alan is working on [1].   The
> service loader is not yet module-aware.  Prior to the module views and
> exports change, all public types including sun.java2d.jules.**JulesRenderingEngine
> are exported and that's why it was working previously.
>
> sun.java2d.pipe.**RenderingEngine calls ServiceLoader.loadInstalled
> method to create a new service loader using the extension class loader.  In
> module mode, there isn't any extension class loader but instead it should
> use the caller's module loader.
>
> Alan, what do you think to integrate the change you have in the
> ServiceLoader class that uses the proper module loader in module mode
> first?   I think that can be separated from the services work.
>
> Mandy
> [1] http://mail.openjdk.java.net/**pipermail/jigsaw-dev/2011-**
> December/001819.html<http://mail.openjdk.java.net/pipermail/jigsaw-dev/2011-December/001819.html>
>



--
Ludovic
-----------------------------------------

"Les formes qui differencient les etres importent peu
 si leur pensees s'unissent pour batir un univers..."
 Yoko Tsuno (in 'Les titans' by Roger Leloup)
 [The shapes that differenciate beings are not important
 if their thoughts unite to build a universe]
Reply | Threaded
Open this post in threaded view
|

Re: jigsaw now sync'ed with jdk8-b23

Mandy Chung
Ludovic,

If I understand correctly, you get the NoClassDefFoundError
if you have this module-info.java (that doesn't have
"requires jdk.base"):

module lh.worldclock.application @ 0.7
{
   requires jdk.desktop;
   requires lh.worldclock.panel @ 0.7;
   class lh.worldclock.WorldClock;
}

There are two things on our todo list that are relevant
to this known issue.
1) jdk.desktop should re-export jdk.base so that
    your app only needs to say "requires jdk.desktop".
2) requires jdk.base will be synthesized by javac if not
    specifed in the module-info.java file [1]. Jon already
    has the javac change.  Once we get the jigsaw runtime
    change ready, we will push it to jigsaw forest and that
    will address this issue.

So for now, you would need to workaround it by specifying
"requires jdk.base" as you have done.

Thanks
Mandy
[1] http://cr.openjdk.java.net/~mr/jigsaw/notes/jigsaw-big-picture-01


On 2/2/2012 2:46 PM, Ludovic HOCHET wrote:

> Today's change fixed that issue, thanks, so I went on rechecking my
> Worldclock toy application [1] and got:
> Exception in thread "main" java.lang.NoClassDefFoundError:
> java/lang/Object
>     at java.lang.ClassLoader.defineClass1(Native Method)
>     at java.lang.ClassLoader.defineClass(ClassLoader.java:791)
>     at
> java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
>     at
> java.lang.module.ModuleClassLoader.defineClass(ModuleClassLoader.java:49)
>     at org.openjdk.jigsaw.Loader.finishFindingClass(Loader.java:240)
>     at org.openjdk.jigsaw.Loader.findClass(Loader.java:184)
>     at org.openjdk.jigsaw.Loader.loadClass(Loader.java:115)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>     at
> sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
> Caused by: java.lang.ClassNotFoundException: java.lang.Object :
> requested by +lh.worldclock.application
>     at org.openjdk.jigsaw.Loader.loadClass(Loader.java:113)
>     at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
>     ... 9 more
>
> This seemed to call for a missing jdk.base, and indeed adding it fixed
> the issue (along with doing the same in the panel as well as exporting
> the required package).
>
> Is it now necessary to explicitely require jdk.base?
>
> Ludovic
>
> [1]:
> http://lhochet.blogspot.com/2012/01/jigsaw-worldclock-with-maven-plugin.html
>
> On Wed, Feb 1, 2012 at 00:49, Mandy Chung <[hidden email]
> <mailto:[hidden email]>> wrote:
>
>     On 1/31/2012 2:07 PM, Ludovic HOCHET wrote:
>
>         Hello,
>         I tried building the latest source, but I'm having the
>         following when
>         trying to launch jconsole:
>
>
>     Thanks for reporting it.
>
>         ludovic@jigsaw-vm:~/dev/jigsaw$ export
>         JIG=~/dev/jigsaw/build/linux-i586/jdk-module-image
>         ludovic@jigsaw-vm:~/dev/jigsaw$ $JIG/bin/java -m jdk.jconsole
>         Exception in thread "main" java.util.ServiceConfigurationError:
>         sun.java2d.pipe.RenderingEngine: Provider
>         sun.java2d.jules.JulesRenderingEngine not found
>
>
>     This depends on the services support that Alan is working on [1].
>       The service loader is not yet module-aware.  Prior to the module
>     views and exports change, all public types including
>     sun.java2d.jules.JulesRenderingEngine are exported and that's why
>     it was working previously.
>
>     sun.java2d.pipe.RenderingEngine calls ServiceLoader.loadInstalled
>     method to create a new service loader using the extension class
>     loader.  In module mode, there isn't any extension class loader
>     but instead it should use the caller's module loader.
>
>     Alan, what do you think to integrate the change you have in the
>     ServiceLoader class that uses the proper module loader in module
>     mode first?   I think that can be separated from the services work.
>
>     Mandy
>     [1]
>     http://mail.openjdk.java.net/pipermail/jigsaw-dev/2011-December/001819.html
>
>
>
>
> --
> Ludovic
> -----------------------------------------
>
> "Les formes qui differencient les etres importent peu
>  si leur pensees s'unissent pour batir un univers..."
>  Yoko Tsuno (in 'Les titans' by Roger Leloup)
>  [The shapes that differenciate beings are not important
>  if their thoughts unite to build a universe]
>
Reply | Threaded
Open this post in threaded view
|

Re: jigsaw now sync'ed with jdk8-b23

Ludovic HOCHET
Hello Mandy,
You understood correctly. This was the module-info.java that I had when I
published the post.

Ludovic

On Fri, Feb 3, 2012 at 00:22, Mandy Chung <[hidden email]> wrote:

> Ludovic,
>
> If I understand correctly, you get the NoClassDefFoundError
> if you have this module-info.java (that doesn't have
> "requires jdk.base"):
>
> module lh.worldclock.application @ 0.7
> {
>  requires jdk.desktop;
>  requires lh.worldclock.panel @ 0.7;
>  class lh.worldclock.WorldClock;
> }
>
> There are two things on our todo list that are relevant
> to this known issue.
> 1) jdk.desktop should re-export jdk.base so that
>   your app only needs to say "requires jdk.desktop".
> 2) requires jdk.base will be synthesized by javac if not
>   specifed in the module-info.java file [1]. Jon already
>   has the javac change.  Once we get the jigsaw runtime
>   change ready, we will push it to jigsaw forest and that
>   will address this issue.
>
> So for now, you would need to workaround it by specifying
> "requires jdk.base" as you have done.
>
> Thanks
> Mandy
> [1] http://cr.openjdk.java.net/~**mr/jigsaw/notes/jigsaw-big-**picture-01<http://cr.openjdk.java.net/%7Emr/jigsaw/notes/jigsaw-big-picture-01>
>
>
>
> On 2/2/2012 2:46 PM, Ludovic HOCHET wrote:
>
>> Today's change fixed that issue, thanks, so I went on rechecking my
>> Worldclock toy application [1] and got:
>> Exception in thread "main" java.lang.**NoClassDefFoundError:
>> java/lang/Object
>>    at java.lang.ClassLoader.**defineClass1(Native Method)
>>    at java.lang.ClassLoader.**defineClass(ClassLoader.java:**791)
>>    at java.security.**SecureClassLoader.defineClass(**
>> SecureClassLoader.java:142)
>>    at java.lang.module.**ModuleClassLoader.defineClass(**
>> ModuleClassLoader.java:49)
>>    at org.openjdk.jigsaw.Loader.**finishFindingClass(Loader.**java:240)
>>    at org.openjdk.jigsaw.Loader.**findClass(Loader.java:184)
>>    at org.openjdk.jigsaw.Loader.**loadClass(Loader.java:115)
>>    at java.lang.ClassLoader.**loadClass(ClassLoader.java:**356)
>>    at sun.launcher.LauncherHelper.**checkAndLoadMain(**
>> LauncherHelper.java:482)
>> Caused by: java.lang.**ClassNotFoundException: java.lang.Object :
>> requested by +lh.worldclock.application
>>    at org.openjdk.jigsaw.Loader.**loadClass(Loader.java:113)
>>    at java.lang.ClassLoader.**loadClass(ClassLoader.java:**356)
>>    ... 9 more
>>
>> This seemed to call for a missing jdk.base, and indeed adding it fixed
>> the issue (along with doing the same in the panel as well as exporting the
>> required package).
>>
>> Is it now necessary to explicitely require jdk.base?
>>
>> Ludovic
>>
>> [1]: http://lhochet.blogspot.com/**2012/01/jigsaw-worldclock-**
>> with-maven-plugin.html<http://lhochet.blogspot.com/2012/01/jigsaw-worldclock-with-maven-plugin.html>
>>
>> On Wed, Feb 1, 2012 at 00:49, Mandy Chung <[hidden email]<mailto:
>> [hidden email]**>> wrote:
>>
>>    On 1/31/2012 2:07 PM, Ludovic HOCHET wrote:
>>
>>        Hello,
>>        I tried building the latest source, but I'm having the
>>        following when
>>        trying to launch jconsole:
>>
>>
>>    Thanks for reporting it.
>>
>>        ludovic@jigsaw-vm:~/dev/**jigsaw$ export
>>        JIG=~/dev/jigsaw/build/linux-**i586/jdk-module-image
>>        ludovic@jigsaw-vm:~/dev/**jigsaw$ $JIG/bin/java -m jdk.jconsole
>>        Exception in thread "main" java.util.**ServiceConfigurationError:
>>        sun.java2d.pipe.**RenderingEngine: Provider
>>        sun.java2d.jules.**JulesRenderingEngine not found
>>
>>
>>    This depends on the services support that Alan is working on [1].
>>      The service loader is not yet module-aware.  Prior to the module
>>    views and exports change, all public types including
>>    sun.java2d.jules.**JulesRenderingEngine are exported and that's why
>>    it was working previously.
>>
>>    sun.java2d.pipe.**RenderingEngine calls ServiceLoader.loadInstalled
>>    method to create a new service loader using the extension class
>>    loader.  In module mode, there isn't any extension class loader
>>    but instead it should use the caller's module loader.
>>
>>    Alan, what do you think to integrate the change you have in the
>>    ServiceLoader class that uses the proper module loader in module
>>    mode first?   I think that can be separated from the services work.
>>
>>    Mandy
>>    [1]
>>    http://mail.openjdk.java.net/**pipermail/jigsaw-dev/2011-**
>> December/001819.html<http://mail.openjdk.java.net/pipermail/jigsaw-dev/2011-December/001819.html>
>>
>>
>>
>>
>> --
>> Ludovic
>> ------------------------------**-----------
>>
>> "Les formes qui differencient les etres importent peu
>>  si leur pensees s'unissent pour batir un univers..."
>>  Yoko Tsuno (in 'Les titans' by Roger Leloup)
>>  [The shapes that differenciate beings are not important
>>  if their thoughts unite to build a universe]
>>
>>


--
Ludovic
-----------------------------------------

"Les formes qui differencient les etres importent peu
 si leur pensees s'unissent pour batir un univers..."
 Yoko Tsuno (in 'Les titans' by Roger Leloup)
 [The shapes that differenciate beings are not important
 if their thoughts unite to build a universe]