JPPF Issue Tracker
star_faded.png
Please log in to bookmark issues
bug_report_small.png
CLOSED  Bug report JPPF-85  -  P2P connection failure: IllegalArgumentException: bundle is null
Posted Oct 21, 2012 - updated Oct 22, 2012
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
    Not owned by anyone
  • Category
    Server
  • Resolution
    RESOLVED
  • Priority
    High
  • Reproducability
    Always
  • Severity
    Normal
  • Targetted for
    icon_milestones.png JPPF 3.2
Issue description
When attempting to have 2 drivers connect to each other, I can see the following stack in each driver's log:

java.lang.IllegalArgumentException: bundle is null
  at org.jppf.server.peer.PeerNodeResultSender.sendResults(PeerNodeResultSender.java:89)
  at org.jppf.server.peer.PeerNode.perform(PeerNode.java:191)
  at org.jppf.server.peer.PeerNode.run(PeerNode.java:127)
  at org.jppf.server.peer.JPPFPeerInitializer.run(JPPFPeerInitializer.java:84)
Steps to reproduce this issue
Start 2 drivers with jppf.peer.discovery.enabled = true ==> you will see the errors

#2
Comment posted by
 lolo4j
Oct 21, 08:00
A file was uploaded. Related drivers logsicon_open_new.png
#4
Comment posted by
 lolo4j
Oct 21, 08:54
in PeerNodeResultSender.sendResults() there was the following faulty code:
if (bundle == null) throw new IllegalArgumentException("bundle is null");
which should be in fact:
if (bundleWrapper == null) throw new IllegalArgumentException("bundleWrapper is null");
However, there remains another problem: I can see that a connection is established for each IP address of the remote peer, whereas only one connection should be made.

#5
Comment posted by
 lolo4j
Oct 21, 09:43
In PeerNOdeResultSender.taskCompleted() I get an IllegalMonitorStateException, So I put the notifyAll() in a synchronized(this) block, but I still have an IllegalMonitorStateException, I think it's because there are mutliple connections open for the remote peer and it's not synchronizing on the right object.

I added missing code in peer discovery, to ensure an IPFilter is used as well, so I can see what happens when a single connection is established with the peer. When running the matrix multiplication sample with 1000 iterations, I get an OOME in one of the drivers. I will capture a heap dump and see what is causing this.
#6
Comment posted by
 lolo4j
Oct 21, 10:22
A file was uploaded. Leak suspects report from Eclipse MATicon_open_new.png
#7
Comment posted by
 lolo4j
Oct 22, 07:38
The memory leak issue is now reported separatelly in Bug report JPPF-87 - Memory leak in the driver: ServerJob instances fill the heap.

In this bug there remains the issue of the drivers accepting multiple connections from the same peer, 1 connection per IP address of the peer.
#8
Comment posted by
 lolo4j
Oct 22, 08:44
Fixed. Changes committed to SVN trunk revision 2495.

The issue was updated with the following change(s):
  • This issue has been closed
  • The status has been updated, from Being worked on 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.