JPPF, java, parallel computing, distributed computing, grid computing, parallel, distributed, cluster, grid, cloud, open source, android, .net
JPPF

The open source
grid computing
solution

 Home   About   Features   Download   Documentation   On Github   Forums 
October 22, 2020, 10:50:36 PM *
Welcome,
Please login or register.

Login with username, password and session length
Advanced search  
News: New users, please read this message. Thank you!
  Home Help Search Login Register  
Pages: [1]   Go Down

Author Topic: extendedclassloading sample code is not running  (Read 2452 times)

mahesh

  • JPPF Padawan
  • *
  • Posts: 4
extendedclassloading sample code is not running
« on: May 31, 2013, 10:40:24 PM »

I'm trying to run the provided extendedclassloading sample code and noticed always we getting error in resetTaskClassLoader() function. See the below exception message for your ready reference.
FYI.. Running this sample code on Mac OSX

2013-05-31 15:27:17,615 [INFO ][org.jppf.utils.VersionUtils.logVersionInformation(88)]: --------------------------------------------------------------------------------
2013-05-31 15:27:17,617 [INFO ][org.jppf.utils.VersionUtils.logVersionInformation(89)]: JPPF version information: Version: 3.3.2, Build number: 1129, Build date: 2013-05-23 11:54 CEST
2013-05-31 15:27:17,618 [INFO ][org.jppf.utils.VersionUtils.logVersionInformation(90)]: starting node with PID=8561, UUID=D879C9BE-618C-F4C3-7BD6-F6AD551A5DBD
2013-05-31 15:27:17,618 [INFO ][org.jppf.utils.VersionUtils.logVersionInformation(91)]: --------------------------------------------------------------------------------
2013-05-31 15:27:18,041 [INFO ][org.jppf.classloader.ClassLoaderRequestHandler.run(143)]: maxBatchSize = 1
2013-05-31 15:27:18,083 [INFO ][org.jppf.server.node.NodeExecutionManagerImpl.<init>(131)]: running 8 processing threads
2013-05-31 15:27:18,083 [INFO ][org.jppf.server.node.NodeExecutionManagerImpl.createThreadManager(158)]: Using default thread manager
2013-05-31 15:27:23,302 [INFO ][org.jppf.example.extendedclassloading.node.NodeListener.output(160)]: node starting: using repository at 'repository'
2013-05-31 15:27:41,349 [INFO ][org.jppf.example.extendedclassloading.node.NodeListener.output(160)]: *** processing metadata for job 'Extended Class Loading 1' ***
2013-05-31 15:27:41,350 [INFO ][org.jppf.example.extendedclassloading.node.NodeListener.output(160)]: requested libraries: ClassPathImpl[{ClientLib2.jar=D9FD042EBBA31D3FD2EF789C94EF5EBA}]
2013-05-31 15:27:41,368 [INFO ][org.jppf.example.extendedclassloading.node.NodeListener.output(160)]: updated current task class loader JPPFClassLoader[id=2, type=client, uuidPath=[20A47965-B50D-39BE-A05C-1E2C66338AAF, 803BBA8D-8B25-FEA0-EA7D-4A3753BA05C0], classpath=file:/Users/mrayudu/Downloads/JPPF-3.3.2-node/repository/ClientLib2-D9FD042EBBA31D3FD2EF789C94EF5EBA.jar]
2013-05-31 15:27:41,425 [INFO ][org.jppf.example.extendedclassloading.node.NodeListener.output(160)]: *** processing metadata for job 'Extended Class Loading 2' ***
2013-05-31 15:27:41,426 [INFO ][org.jppf.example.extendedclassloading.node.NodeListener.output(160)]: requested libraries: ClassPathImpl[{ClientLib2.jar=D9FD042EBBA31D3FD2EF789C94EF5EBA}]
2013-05-31 15:27:41,434 [ERROR][org.jppf.node.event.LifeCycleEventHandler.handleError(63)]: error executing jobHeaderLoaded() on an instance of class org.jppf.example.extendedclassloading.node.NodeListener, event=NodeLifeCycleEvent[type=JOB_HEADER_LOADED, node=org.jppf.server.node.remote.JPPFRemoteNode@58651e95, job=JPPFTaskBundle[name=Extended Class Loading 2, uuid=0A9C6E41-0C2D-CA8C-CBF1-B3469D68E735, initialTaskCount=1, taskCount=1, bundleUuid=803BBA8D-8B25-FEA0-EA7D-4A3753BA05C0-32, uuidPath=[20A47965-B50D-39BE-A05C-1E2C66338AAF, 803BBA8D-8B25-FEA0-EA7D-4A3753BA05C0]], dataProvider=null, taskClassLoader=JPPFClassLoader[id=2, type=client, uuidPath=[20A47965-B50D-39BE-A05C-1E2C66338AAF, 803BBA8D-8B25-FEA0-EA7D-4A3753BA05C0], classpath=file:/Users/mrayudu/Downloads/JPPF-3.3.2-node/repository/ClientLib2-D9FD042EBBA31D3FD2EF789C94EF5EBA.jar], tasks=null], listener=org.jppf.example.extendedclassloading.node.NodeListener@56baf589 : java.lang.NoSuchMethodError: org.jppf.classloader.AbstractJPPFClassLoaderLifeCycle.close()V
2013-05-31 15:27:41,434 [ERROR][org.jppf.server.node.remote.RemoteNodeIO.deserializeObjects(102)]: Exception occurred while deserializing the tasks
java.lang.NoSuchMethodError: org.jppf.classloader.AbstractJPPFClassLoaderLifeCycle.close()V
   at org.jppf.classloader.AbstractJPPFClassLoader.close(AbstractJPPFClassLoader.java:472)
   at org.jppf.server.node.AbstractClassLoaderManager.resetClassLoader(AbstractClassLoaderManager.java:247)
   at org.jppf.server.node.JPPFNode.resetTaskClassLoader(JPPFNode.java:446)
   at org.jppf.example.extendedclassloading.node.NodeListener.jobHeaderLoaded(NodeListener.java:122)
   at org.jppf.node.event.LifeCycleEventHandler.fireJobHeaderLoaded(LifeCycleEventHandler.java:169)
   at org.jppf.server.node.remote.RemoteNodeIO.deserializeObjects(RemoteNodeIO.java:90)
   at org.jppf.server.node.remote.RemoteNodeIO.deserializeObjects(RemoteNodeIO.java:73)
   at org.jppf.server.node.AbstractNodeIO.readObjects(AbstractNodeIO.java:115)
   at org.jppf.server.node.AbstractNodeIO.readTask(AbstractNodeIO.java:84)
   at org.jppf.server.node.JPPFNode.perform(JPPFNode.java:152)
   at org.jppf.server.node.JPPFNode.run(JPPFNode.java:119)
   at org.jppf.node.NodeRunner.main(NodeRunner.java:124)
2013-05-31 15:27:41,438 [ERROR][org.jppf.server.node.JPPFNode.run(129)]:
java.lang.NullPointerException
   at org.jppf.server.node.remote.RemoteNodeIO.deserializeObjects(RemoteNodeIO.java:79)
   at org.jppf.server.node.remote.RemoteNodeIO.deserializeObjects(RemoteNodeIO.java:73)
   at org.jppf.server.node.AbstractNodeIO.readObjects(AbstractNodeIO.java:115)
   at org.jppf.server.node.AbstractNodeIO.readTask(AbstractNodeIO.java:84)
   at org.jppf.server.node.JPPFNode.perform(JPPFNode.java:152)
   at org.jppf.server.node.JPPFNode.run(JPPFNode.java:119)
   at org.jppf.node.NodeRunner.main(NodeRunner.java:124)
2013-05-31 15:27:41,440 [WARN ][org.jppf.utils.JPPFDefaultUncaughtExceptionHandler.uncaughtException(45)]: Uncaught exception in thread Thread[main,5,main]: java.lang.NoSuchMethodError: org.jppf.classloader.AbstractJPPFClassLoaderLifeCycle.close()V
Logged

lolo

  • Administrator
  • JPPF Council Member
  • *****
  • Posts: 2262
    • JPPF Web site
Re: extendedclassloading sample code is not running
« Reply #1 on: June 01, 2013, 09:34:13 AM »

Hello Mahesh,

This is indeed a JPPF bug, which I registered as JPPF-151 Calling AbstractJPPFClassLoader.close() leads to NoSuchMethodError.
As mentioned in the bug description, this issue only occurs when you run the JPPF node with JDK 1.6. What happens is that the super class of AbstractJPPFClassLoader, AbstractJPPFClassLoaderLifeCycle, inherits from java.net.URLClassLoader. URLClassLoader has a close() method, but only since JDK 1.7.

I am working on a fix and will provide a patch soon. In the meantime, a workaround is to run the node with JDK 1.7.

Sincerely,
-Laurent
Logged

lolo

  • Administrator
  • JPPF Council Member
  • *****
  • Posts: 2262
    • JPPF Web site
Re: extendedclassloading sample code is not running
« Reply #2 on: June 02, 2013, 09:33:46 AM »

Hi Mahesh,

I have implemented a fix and published an official patch, which you can get here.

Sincerely,
-Laurent
Logged

mahesh

  • JPPF Padawan
  • *
  • Posts: 4
Re: extendedclassloading sample code is not running
« Reply #3 on: June 05, 2013, 11:32:11 PM »

Appreciate for immediate patch. Its working as expected. Thanks!
Logged
Pages: [1]   Go Up
 
JPPF Powered by SMF 2.0 RC5 | SMF © 2006–2011, Simple Machines LLC Get JPPF at SourceForge.net. Fast, secure and Free Open Source software downloads