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 15:31:15 -0700

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
>>>