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, 30 Mar 2009 15:11:35 +0530

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
>