dev@shoal.java.net

Re: [Shoal-Dev] About "Could not locate World PeerGroup Module Implementation" in IBM JDK1.6

From: Shreedhar Ganapathy <Shreedhar.Ganapathy_at_Sun.COM>
Date: Mon, 17 Aug 2009 17:43:47 -0700

Thank Bongjae.

I will send email to our Jxta colleagues internally as well. Thanks a lot.
Shreedhar

Bongjae Chang wrote:
> Hi Shreedhar,
> Unfortunately, I couldn't receive any response from JXTA dev community.
> But,I will try tosendthis issue to the community and share it again today.
> If I will file this issue with the issue tracker in
> jxta-jxse.dev.java.net or receive any response from jxta dev mailing,
> I will reply again.
> Thanks.
> --
> Bongjae Chang
>
> ----- Original Message -----
> *From:* Shreedhar Ganapathy <mailto:Shreedhar.Ganapathy_at_Sun.COM>
> *To:* dev_at_shoal.dev.java.net <mailto:dev_at_shoal.dev.java.net>
> *Sent:* Tuesday, August 18, 2009 7:31 AM
> *Subject:* Re: [Shoal-Dev] About "Could not locate World PeerGroup
> Module Implementation" in IBM JDK1.6
>
> corrected IBM JDK version in my email to IBM JDK 6
>
> Shreedhar Ganapathy wrote:
>> Hi Bongjae
>> Just following up from this old thread as this issue is now seen
>> in GlassFish v2.1.1 testing with IBM JDK 6
>> https://glassfish.dev.java.net/issues/show_bug.cgi?id=9141
>>
>>
>> Did you get any response from Jxta community for this issue you
>> filed as mentioned below in your email ?
>> Could you share the issue number in Jxta community issue tracker ?
>>
>> Thanks
>> Shreedhar
>>
>> Shreedhar Ganapathy wrote:
>>> HI Bongjae
>>>
>>> Bongjae Chang wrote:
>>>> Hi Shreedhar.
>>>> I'msorry for this late reply.
>>>> If JDK doesn't have a version string, GMS can't join the group
>>>> because JXTA fails toinitialize World PeerGroup.
>>>> At this case, Shoal throws unexpected exceptions like a NPE if
>>>> user uses Shoal's GMS API.
>>> We should better handle the issue than throw NPEs. Could you
>>> file an issue on this for graceful handling of this problem in
>>> Shoal ?
>>>> In my opinion, I think that becausesome JDKs can returna empty
>>>> version string or null, JXTA had bettermake use ofanother
>>>> compatible version checking regardless of
>>>> java.lang.Package#isCompatilbe() method.
>>> I agree.
>>>> And Ithink that JXTA should be verified in IBM JDK6.Actually, I
>>>> don't know whether JXTA has tested in IBM JDK.
>>> I doubt it.
>>>> Should I inform JXTA's community of this? Unfortunately,I
>>>> didn'thave found an workaround. :-(
>>> Yes, it is important for us as well as when we certify GlassFish
>>> server support for 1.6 (we currently only support 1.5 IBM JDK
>>> for GlassFish), we will need this fix to be in.
>>> Could you file an issue with the issue tracker in
>>> jxta-jxse.dev.java.net ?
>>>
>>> Thanks so much for finding and reporting this problem
>>> Shreedhar :)
>>>
>>>
>>>> Thanks.
>>>> --
>>>> Bongjae Chang
>>>>
>>>> ----- Original Message -----
>>>> *From:* Shreedhar Ganapathy
>>>> <mailto:Shreedhar.Ganapathy_at_Sun.COM>
>>>> *To:* dev_at_shoal.dev.java.net <mailto:dev_at_shoal.dev.java.net>
>>>> *Sent:* Monday, March 23, 2009 1:50 PM
>>>> *Subject:* Re: [Shoal-Dev] About "Could not locate World
>>>> PeerGroup Module Implementation" in IBM JDK1.6
>>>>
>>>> Thanks Bongjae for analyzing and locating the problem.
>>>> Mo, could you look into this and figure what's the impact
>>>> of not having a version string ? Perhaps there is an easy
>>>> workaround.
>>>>
>>>> Thanks
>>>> Shreedhar
>>>>
>>>> Bongjae Chang wrote:
>>>>> Hi.
>>>>> I tried totest current shoal version in *IBM JDK 1.6*.
>>>>> ButGMS failed to jointhe group in IBM JDK 1.6.
>>>>> Here is error log.
>>>>> ---------------------
>>>>> 2009. 3. 21 ¿ÀÈÄ 6:21:17
>>>>> com.sun.enterprise.jxtamgmt.JxtaUtil configureJxtaLogging
>>>>> CONFIG: gms configureJxtaLogging: set jxta logging to
>>>>> default of SEVERE
>>>>> 2009. 3. 21 ¿ÀÈÄ 6:21:18
>>>>> com.sun.enterprise.jxtamgmt.NetworkManager initWPGF
>>>>> CONFIG: initWPGF
>>>>> storeHome=/home/bluewolf/project/jeus7trunk/target/jeus/domains/dvt/data/gms/dvt
>>>>>
>>>>> 2009. 3. 21 ¿ÀÈÄ 6:21:18
>>>>> com.sun.enterprise.jxtamgmt.NetworkManager <init>
>>>>> *SEVERE: Could not locate World PeerGroup Module
>>>>> Implementation.
>>>>> *Throwable occurred:
>>>>> net.jxta.exception.PeerGroupException: Could not locate
>>>>> World PeerGroup Module Implementation.
>>>>> at
>>>>> net.jxta.peergroup.WorldPeerGroupFactory.getDefaultWorldPeerGroupClass(WorldPeerGroupFactory.java:244)
>>>>>
>>>>> at
>>>>> net.jxta.peergroup.WorldPeerGroupFactory.<init>(WorldPeerGroupFactory.java:178)
>>>>>
>>>>> at
>>>>> com.sun.enterprise.jxtamgmt.NetworkManager.initWPGF(NetworkManager.java:623)
>>>>>
>>>>> at
>>>>> com.sun.enterprise.jxtamgmt.NetworkManager.<init>(NetworkManager.java:213)
>>>>>
>>>>> at
>>>>> com.sun.enterprise.jxtamgmt.ClusterManager.<init>(ClusterManager.java:133)
>>>>>
>>>>> at
>>>>> com.sun.enterprise.ee.cms.impl.jxta.GroupCommunicationProviderImpl.initializeGroupCommunicationProvider(GroupCommunicationProviderImpl.java:138)
>>>>>
>>>>> at
>>>>> com.sun.enterprise.ee.cms.impl.jxta.GMSContext.join(GMSContext.java:123)
>>>>>
>>>>> at
>>>>> com.sun.enterprise.ee.cms.impl.common.GroupManagementServiceImpl.join(GroupManagementServiceImpl.java:347)
>>>>>
>>>>> ...
>>>>> ---------------------
>>>>> I could know that "Could not locate World PeerGroup Module
>>>>> Implementation" message was concerned with JDK version and
>>>>> jxta platform when I reviewed [Shoal-Users] mailing list.
>>>>> So I tried to test jxta.jar simply.
>>>>> ---------------------
>>>>> *D:\>java -version*
>>>>> *java version "1.6.0"
>>>>> Java(TM) SE Runtime Environment (build
>>>>> pwi3260sr1-20080416_01(SR1))
>>>>> IBM J9 VM (build 2.4, J2RE 1.6.0 IBM J9 2.4 Windows XP
>>>>> x86-32 jvmwi3260-20080415_18762 (JIT enabled,
>>>>> AOT enabled)
>>>>> J9VM - 20080415_018762_lHdSMr
>>>>> JIT - r9_20080415_1520
>>>>> GC - 20080415_AA)
>>>>> JCL - 20080412_01*
>>>>> *D:\>java -jar jxta.jar
>>>>> *Starting the JXTA platform in mode : EDGE
>>>>> 2009. 3. 23 ¿ÀÀü 11:22:28 net.jxta.platform.NetworkManager
>>>>> configure
>>>>> INFO: Created new configuration. mode = EDGE
>>>>> 2009. 3. 23 ¿ÀÀü 11:22:28 net.jxta.platform.NetworkManager
>>>>> startNetwork
>>>>> INFO: Starting JXTA Network! MODE = EDGE, HOME =
>>>>> file:/D:/.cache/BootEdge/
>>>>> 2009. 3. 23 ¿ÀÀü 11:22:28
>>>>> net.jxta.impl.peergroup.StdPeerGroup isCompatible
>>>>> WARNING: Failure handling compatibility statement
>>>>> *Throwable occurred: java.lang.NumberFormatException:
>>>>> Empty version string*
>>>>> at java.lang.Package.isCompatibleWith(Package.java:223)
>>>>> at
>>>>> net.jxta.impl.peergroup.StdPeerGroup.isCompatible(StdPeerGroup.java:414)
>>>>> at
>>>>> net.jxta.impl.peergroup.GenericPeerGroup$1.compatible(GenericPeerGroup.java:131)
>>>>> at
>>>>> net.jxta.impl.loader.RefJxtaLoader.findClass(RefJxtaLoader.java:254)
>>>>> at
>>>>> net.jxta.impl.loader.RefJxtaLoader.findModuleImplAdvertisement(RefJxtaLoader.java:350)
>>>>> at
>>>>> net.jxta.peergroup.WorldPeerGroupFactory.getDefaultWorldPeerGroupClass(WorldPeerGroupFact
>>>>> ory.java:241)
>>>>> at
>>>>> net.jxta.peergroup.WorldPeerGroupFactory.<init>(WorldPeerGroupFactory.java:178)
>>>>> at
>>>>> net.jxta.peergroup.NetPeerGroupFactory.<init>(NetPeerGroupFactory.java:204)
>>>>> at
>>>>> net.jxta.platform.NetworkManager.startNetwork(NetworkManager.java:410)
>>>>> at net.jxta.impl.peergroup.Boot.main(Boot.java:139)
>>>>> Uncaught Throwable caught by 'main':
>>>>> *net.jxta.exception.PeerGroupException: Could not locate
>>>>> World PeerGroup Module Implementation.
>>>>> * at
>>>>> net.jxta.peergroup.WorldPeerGroupFactory.getDefaultWorldPeerGroupClass(WorldPeerGroupFact
>>>>> ory.java:244)
>>>>> at
>>>>> net.jxta.peergroup.WorldPeerGroupFactory.<init>(WorldPeerGroupFactory.java:178)
>>>>> at
>>>>> net.jxta.peergroup.NetPeerGroupFactory.<init>(NetPeerGroupFactory.java:204)
>>>>> at
>>>>> net.jxta.platform.NetworkManager.startNetwork(NetworkManager.java:410)
>>>>> at net.jxta.impl.peergroup.Boot.main(Boot.java:139)
>>>>> D:\>
>>>>> ---------------------
>>>>> I could know that this error was related to
>>>>> Package.isCompatibleWith() method.
>>>>> Here is my test code.
>>>>> ---------------------
>>>>> Package javaLangPackage = Package.getPackage( "java.lang" );
>>>>> System.out.println(
>>>>> javaLangPackage.getSpecificationVersion() );
>>>>> ---------------------
>>>>> In Sun JDK6
>>>>> ---------------------
>>>>> *1.6*
>>>>> ---------------------
>>>>> In IBM JDK6
>>>>> ---------------------
>>>>> *null*
>>>>> ---------------------
>>>>> SoPackage#isCompatibleWith() can return
>>>>> "java.lang.NumberFormatException: Empty version string"
>>>>> exception in IBM JDK6 because specVersion can be null.
>>>>> At this case, do you have any solution or work-around?
>>>>> PS)
>>>>> - current cvs jxta.jar works well in Sun JDK1.5, Sun
>>>>> JDK1.6 and IBM JDK1.5.
>>>>> - I tested this case in Windows and Linux. Both Windows
>>>>> and Linux returned same error when I used IBM JDK1.6.
>>>>> Thanks.
>>>>> --
>>>>> Bongjae Chang
>>>>