• Get application security done the right way! Detect, Protect, Monitor, Accelerate, and more…
  • Lately, I was playing around with IBM WebSphere 8.5 installation and encountered the following error. 

    [7/1/13 0:21:33:113 SGT] 00000001 P2PBase E   ODCF8005E: There was an unexpected exception while initializing the SON overlay; the exception is java.io.IOException:
    The P2P layer was unable to bind to a UDP port.
    at com.ibm.son.mesh.RawUDPImpl.<init>(RawUDPImpl.java:89)
    at com.ibm.son.mesh.UDPFactory.getUDP(UDPFactory.java:31)
    at com.ibm.son.mesh.Peer.<init>(Peer.java:468)
    at com.ibm.son.mesh.Peer.<init>(Peer.java:411)
    at com.ibm.ws.p2p.P2POverlayHelper.getPeer(P2POverlayHelper.java:147)
    at com.ibm.ws.p2p.P2PBase.getPeer(P2PBase.java:31)
    at com.ibm.ws.bbson.BBFactoryImpl.<init>(BBFactoryImpl.java:632)
    at java.lang.J9VMInternals.newInstanceImpl(Native Method)
    at java.lang.Class.newInstance(Class.java:1564)

    Are you experiencing the same issue?

    This issue happens when OVERLAY_TCP_LISTENER_ADDRESS is conflict or doesn’t exist.

    You can fix this by verifying and ensuring it exists without conflict.

    • Start DMGR
    • Stop if any JVM’s running under problematic node
    • Stop Nodeagent
    • Login into Admin Console and navigate to

    System Administration >> nodeagents >> nodeagent >> ports

    Do you see OVERLAY_TCP_LISTENER_ADDRESS and OVERLAY_UDP_LISTENER_ADDRESS here?

    Make a note of a port number of these if you see.

    If you don’t see, create them by following instructions:

    For UDP:

    • Click on New
    • Check user-defined port
    • Port name – OVERLAY_UDP_LISTENER_ADDRESS
    • Host name – localhost
    • Port – 21001 (give any unused port number on server)

    For TCP:

    • Click on New
    • Check user-defined port
    • Port name – OVERLAY_TCP_LISTENER_ADDRESS
    • Host name – localhost
    • Port – 21002 (give any unused port number on server)

    Next, let’s verify port number between nodeagent and problematic JVM

    Go to Servers >> server types >> Websphere application servers >> server01 >> ports

    Do you see OVERLAY_TCP_LISTENER_ADDRESS and OVERLAY_UDP_LISTENER_ADDRESS here?

    If yes verify to ensure it doesn’t conflict with your nodeagent port. If you don’t see them, then create new port by following instructions.

    UDP:

    • Click on New
    • Check user-defined port
    • Port name – OVERLAY_UDP_LISTENER_ADDRESS
    • Host name – localhost
    • Port – 21003 (give any unused port number on server)

    TCP:

    • Click on New
    • Check user-defined port
    • Port name – OVERLAY_TCP_LISTENER_ADDRESS
    • Host name – localhost
    • Port – 21004 (provide any remaining port number on server)

    Save the configuration and Sync the node

    ./syncNode.sh localhost <soap port number>

    Start the nodeagent and JVM

    Did it help?