dev@shoal.java.net

Re: [jxta-dev] About jxta-jxse's "Could not locate World PeerGroup Module Implementation" in IBM JDK1.6

From: Bongjae Chang <carryel_at_korea.com>
Date: Wed, 26 Aug 2009 10:47:09 +0900

Hi Jerome,

Jerome wrote:
>The code does not contain an .isCompatible() method for StdPeerGroup
>anymore. Therefore, I am wondering whether this issue would still occur
>with the most recent code.

I see. Today, I updated the jxta-jxse from current svn and I tried to test it again experimentally.
But it seems that this issue still occurred.

Here is the log( I inserted Thread.dumpStack() code for debugging in IBM JDK )
---
java.lang.Throwable
        at java.lang.Thread.dumpStack(Thread.java:417)
        at net.jxta.impl.peergroup.CompatibilityUtils.isCompatible(CompatibilityUtils.java:196)
        at net.jxta.impl.peergroup.GenericPeerGroup$1.compatible(GenericPeerGroup.java:148)
        at net.jxta.impl.loader.RefJxtaLoader.searchCompats(RefJxtaLoader.java:548)
        at net.jxta.impl.loader.RefJxtaLoader.findClass(RefJxtaLoader.java:318)
        at net.jxta.impl.loader.RefJxtaLoader.loadClass(RefJxtaLoader.java:371)
        at net.jxta.impl.loader.RefJxtaLoader.findModuleImplAdvertisement(RefJxtaLoader.java:482)
        at net.jxta.peergroup.WorldPeerGroupFactory.getDefaultWorldPeerGroupClass(WorldPeerGroupFact
ory.java:238)
        at net.jxta.peergroup.WorldPeerGroupFactory.<init>(WorldPeerGroupFactory.java:178)
        at com.sun.enterprise.jxtamgmt.NetworkManager.initWPGF(NetworkManager.java:634)
        at com.sun.enterprise.jxtamgmt.NetworkManager.<init>(NetworkManager.java:216)
        at com.sun.enterprise.jxtamgmt.ClusterManager.<init>(ClusterManager.java:138)
        at com.sun.enterprise.ee.cms.impl.jxta.GroupCommunicationProviderImpl.initializeGroupCommuni
cationProvider(GroupCommunicationProviderImpl.java:154)
        at com.sun.enterprise.ee.cms.impl.jxta.GMSContext.join(GMSContext.java:145)
        at com.sun.enterprise.ee.cms.impl.common.GroupManagementServiceImpl.join(GroupManagementServ
iceImpl.java:367)
        at com.sun.enterprise.ee.cms.tests.ApplicationServer.startGMS(ApplicationServer.java:166)
        at com.sun.enterprise.ee.cms.tests.ApplicationServer.run(ApplicationServer.java:117)
        at java.lang.Thread.run(Thread.java:735)
[#|2009-08-26T10:22:16.625+0900|SEVERE|Shoal|ShoalLogger|_ThreadID=1;_ThreadName=ApplicationServer;C
lassName=NetworkManager;MethodName=<init>;|Could not locate World PeerGroup Module Implementation.
net.jxta.exception.PeerGroupException: Could not locate World PeerGroup Module Implementation.
        at net.jxta.peergroup.WorldPeerGroupFactory.getDefaultWorldPeerGroupClass(WorldPeerGroupFact
ory.java:241)
        at net.jxta.peergroup.WorldPeerGroupFactory.<init>(WorldPeerGroupFactory.java:178)
        at com.sun.enterprise.jxtamgmt.NetworkManager.initWPGF(NetworkManager.java:634)
        at com.sun.enterprise.jxtamgmt.NetworkManager.<init>(NetworkManager.java:216)
        at com.sun.enterprise.jxtamgmt.ClusterManager.<init>(ClusterManager.java:138)
        at com.sun.enterprise.ee.cms.impl.jxta.GroupCommunicationProviderImpl.initializeGroupCommuni
cationProvider(GroupCommunicationProviderImpl.java:154)
        at com.sun.enterprise.ee.cms.impl.jxta.GMSContext.join(GMSContext.java:145)
        at com.sun.enterprise.ee.cms.impl.common.GroupManagementServiceImpl.join(GroupManagementServ
iceImpl.java:367)
        at com.sun.enterprise.ee.cms.tests.ApplicationServer.startGMS(ApplicationServer.java:166)
        at com.sun.enterprise.ee.cms.tests.ApplicationServer.run(ApplicationServer.java:117)
        at java.lang.Thread.run(Thread.java:735)
---

As you see above, CompatibilityUtils.isCompatible() was called finally.

Jerome wrote:
>How does IBM's JDK provide for version information? Because if a JDK
>does not provide that information, JXTA/JXSE cannot provide a solution too

I would like to know the way, too. :)

It seems that maybe IBM JDK 6 has a incorrect version info.(https://shoal.dev.java.net/issues/show_bug.cgi?id=91)

Jerome wrote:
>I have opened an issue to better document and test CompatibilityUtils
>(https://jxta-jxse.dev.java.net/issues/show_bug.cgi?id=267).

Thank you!

Jerome wrote:
>If you put your findings about how IBM's JDK provides for version, that would help
>finding the solution.

Okay.

Thanks!

PS) I added the alias of Shoal dev mailing list for sharing this issue.
--
Bongjae Chang


----- Original Message -----
From: "Jérôme Verstrynge" <jverstry_at_gmail.com>
To: <dev_at_jxta.dev.java.net>
Sent: Saturday, August 22, 2009 7:16 PM
Subject: Re: [jxta-dev] About jxta-jxse's "Could not locate World PeerGroup Module Implementation" in IBM JDK1.6


> Hi Bongjae,
>
> See my comments below.
>
> Bongjae Chang wrote:
>> Hi all,
>>
>> This is very old mail.
>>
>> But, unfortunately I couldn't receive any response about this, so I
>> would like to share this issue again.
>>
>> I also think that you can see the same problem from
>> https://glassfish.dev.java.net/issues/show_bug.cgi?id=9141.
>>
>> Any thoughts?
>>
>> PS) could I file this issue with the issue tracker in
>> jxta-jxse.dev.java.net?
>>
>> --
>> Bongjae Chang
>>
>>
>>
>> ----- Original Message -----
>> *From:* Bongjae Chang <mailto:carryel_at_korea.com>
>> *To:* dev_at_jxta.dev.java.net <mailto:dev_at_jxta.dev.java.net>
>> *Sent:* Tuesday, March 31, 2009 1:39 PM
>> *Subject:* [jxta-dev] About jxta-jxse's "Could not locate World
>> PeerGroup Module Implementation" in IBM JDK1.6
>>
>> Hi.
>>
>> I am a user of Shoal community.
>>
>> When I tried to test current Shoal version in *IBM JDK 1.6*, GMS
>> failed to join the group in IBM JDK 1.6.
>>
>> So I would like to inform jxta's community of this problem because
>> I think that this concerns jxta-jxse. (As you know, Shoal is using
>> jxta.jar.)
>>
>> 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.
>> ---------------------
>> *bash-3.00$ uname -a
>> AIX tmaxi4 3 5 00CD048C4C00*
>>
>>
>> *bash-3.00$ /usr/java6/bin/java -version*
>> java version* "1.6.0"
>> *Java(TM) SE Runtime Environment (build pap3260sr2-20080818_01(SR2))
>> *IBM* J9 VM (build 2.4, J2RE 1.6.0 IBM J9 2.4 AIX ppc-32
>> jvmap3260-20080816_22093 (JIT enabled, AOT enabled)
>> J9VM - 20080816_022093_bHdSMr
>> JIT - r9_20080721_1330ifx2
>> GC - 20080724_AA)
>> JCL - 20080808_02
>>
>>
>> *bash-3.00$ /usr/java6/bin/java -jar jxta.jar*
>> Starting the JXTA platform in mode : EDGE
>> 2009. 3. 31 오후 1:09:28 net.jxta.platform.NetworkManager configure
>> INFO: Created new configuration. mode = EDGE
>> 2009. 3. 31 오후 1:09:28 net.jxta.platform.NetworkManager startNetwork
>> INFO: Starting JXTA Network! MODE = EDGE, HOME =
>> file:/data1/all4you/carryel_temp/.cache/BootEdge/
>> 2009. 3. 31 오후 1:09: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:210)
>> at
>> net.jxta.impl.peergroup.StdPeerGroup.isCompatible(StdPeerGroup.java:414)
>>
> The code does not contain an .isCompatible() method for StdPeerGroup
> anymore. Therefore, I am wondering whether this issue would still occur
> with the most recent code.
>>
>> 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(WorldPeerGroupFactory.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(WorldPeerGroupFactory.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)
>> ---------------------
>>
>> 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*
>> ---------------------
>>
>> So Package#isCompatibleWith() can return
>> "java.lang.NumberFormatException: Empty version string" exception
>> in IBM JDK6 because specVersion can be null.
>>
>> In my opinion, I think that because some JDKs can return a empty
>> version string or null, JXTA had better make use of another
>> compatible version checking regardless of
>> java.lang.Package#isCompatilbe() method.
>>
> How does IBM's JDK provide for version information? Because if a JDK
> does not provide that information, JXTA/JXSE cannot provide a solution too.
>
>>
>> And I think that JXTA should be verified in IBM JDK6. Actually, I
>> don't know whether JXTA has tested in IBM JDK. :-)
>>
> I don't know whether it has been tested in the past. For the future,
> volunteers are welcome !!!
>>
>>
>> Unfortunately, I didn't have found an workaround. At this case, do
>> you have any solution or work-around?
>>
>> If you confirm this error, could I file an issue with the issue
>> tracker in jxta-jxse.dev.java.net?
>>
> I have opened an issue to better document and test CompatibilityUtils
> (https://jxta-jxse.dev.java.net/issues/show_bug.cgi?id=267). If you put
> your findings about how IBM's JDK provides for version, that would help
> finding the solution.
>
>>
>>
>> I think current jxta-jxse-svn's source also has same problem.
>>
>> PS)
>> - jxta.jar works well in Sun JDK1.5, Sun JDK1.6 and IBM JDK1.5.
>> - I tested this case in Windows, Linux and AIX. All platform
>> returned same error when I used IBM JDK1.6.
>> - This is MANIFEST.MF in jxta.jar
>> * Manifest-Version: 1.0
>> Ant-Version: Apache Ant 1.6.5
>> Created-By: 1.5.0_16-133 (Apple Inc.)
>> Built-By: jf39279
>> Built-At: 20090327
>> Specification-Title: JXTA Protocols
>> Specification-Version: 2.0
>> Specification-Vendor: JXTA Organization
>> Main-Class: net.jxta.impl.peergroup.Boot*
>>
>> Thanks.
>>
>> --
>> Bongjae Chang
>>
>
> Thanks,
>
> J. (AdamMan71)
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscribe_at_jxta.dev.java.net
> For additional commands, e-mail: dev-help_at_jxta.dev.java.net
>
>
>
>