JPPF Issue Tracker
star_faded.png
Please log in to bookmark issues
bug_report_small.png
CLOSED  Bug report JPPF-151  -  Calling AbstractJPPFClassLoader.close() leads to NoSuchMethodError
Posted Jun 01, 2013 - updated Dec 27, 2014
icon_info.png This issue has been closed with status "Closed" and resolution "RESOLVED".
Issue details
  • Type of issue
    Bug report
  • Status
     
    Closed
  • Assigned to
     lolo4j
  • Progress
       
  • Type of bug
    Not triaged
  • Likelihood
    Not triaged
  • Effect
    Not triaged
  • Posted by
     lolo4j
  • Owned by
     lolo4j
  • Category
    Node
  • Resolution
    RESOLVED
  • Priority
    Normal
  • Reproducability
    Always
  • Severity
    Normal
  • Targetted for
    icon_milestones.png JPPF 3.3.x
Issue description
As reported in this forum thread, whenever AbstractJPPFClassLoader.close() is called, for instance in the Extended Class Loading sample, the following error is raised:
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)
This issue is caused by the fact that AbstractJPPFClassLoader.close() invokes super.close(). While the super class of AbstractJPPFClassLoader, AbstractJPPFClassLoaderLifeCycle, doesn't have a close() method, its superclass URLClassLoader has one, but only since JDK 1.7. So this bug can only occur with JDK 1.6 or earlier
Steps to reproduce this issue
  • start a node with JDK 1.6
  • run the "Extended Class Loading sample" using this node

#4
Comment posted by
 lolo4j
Jun 02, 09:11
Fixed. Changes committed to SVN:

The issue was updated with the following change(s):
  • This issue has been closed
  • The status has been updated, from Confirmed to Closed.
  • This issue's progression has been updated to 100 percent completed.
  • The resolution has been updated, from Not determined to RESOLVED.
  • Information about the user working on this issue has been changed, from lolo4j to Not being worked on.