#146 Unable to find port on Solaris 10 (with zone)

v3.2.3
open-fixed
Service (34)
5
2007-01-06
2006-11-10
Anonymous
No

When you configure two zone on Solaris 10
(virtualization) and you try to launch the same
wrapper on a second zone, the wrapper cannot find a
port automatically.
Note: the first launch is OK. Only, the second launch
on a second zone fails.

I have try (in wrapper.conf),
case1: #wrapper.port=1777 (comments)
case2: wrapper.port=0
case3: wrapper.port=1777

Note: When I turn on debug, the second wrapper find a
port but I have others problems (the wrapper stopping
is very, very slow...)

All tests are done with the last version of wrapper.

Discussion

  • xavier

    xavier - 2006-11-24

    Logged In: YES
    user_id=1393318
    Originator: NO

    Hi,

    I found the problem.
    The issue is due to the JVM port. I describe the situation.
    On the virtual zone1 the configuration is Wrapper.port=2000 jvm.port=0
    On the virtual zone2 the configuration is Wrapper.port=2000 jvm.port=0
    The error occured when the wrapper try to bind to the socket by indicating its local port.
    source code is: m_socket = new Socket( iNetAddress, m_port, iNetAddress, tryPort );
    Unfortunately on a solaris 10 the exception thrown is not BindException but SocketException.
    And the tryPort is never incremented :(

    There are two solutions:
    1) Check that the error message of the SocketException is "Address already in use".
    2) Allow the user to not fix the local port used by the wrapper and let the system choose a port.

    Thanks for your answer and congratulation for this great application.

    Xavier.

     
  • Leif Mortenson

    Leif Mortenson - 2007-01-06
    • milestone: --> v3.2.3
    • assigned_to: nobody --> mortenson
    • status: open --> open-fixed
     
  • Leif Mortenson

    Leif Mortenson - 2007-01-06

    Logged In: YES
    user_id=228081
    Originator: NO

    Thanks for following up on this. I have made a change to the WrapperManager class for the 3.2.4 release which will now check the SocketException message as you suggested.

    Cheers,
    Leif

     

Get latest updates about Open Source Projects, Conferences and News.

Sign up for the SourceForge newsletter:





No, thanks