Re: Address already in use problem
On Wed, Sep 21, 2016 at 10:21 PM, Marcelo Ricardo Leitner wrote: > On Wed, Sep 21, 2016 at 10:15:43PM +0800, Sun Paul wrote: >> Hi >> >> we are using redhat 2.6.32-642.4.2.el6.x86_64 >> >> On Wed, Sep 21, 2016 at 10:04 PM, Marcelo Ricardo Leitner >> wrote: >> > Hi, >> > >> > Which kernel are you using? Depending on it, that may be fixed by a >> > recent patchset from Xin Long, 'sctp: fix the transmit err process' >> > patchset more exactly. >> > >> > Marcelo > > Ah no, then that's another thing. If you cannot test/use an upstream > kernel, then I'd recommend you to open a support case/bug with them. > It may be still this issue, I checked the codes of 2.6.32-642. It's not using sctp_datamsg_free, which means once sctp_primitive_SEND fail to send msg because of the asoc->state is unavailable, chunks have no chance to be freed, and they hold asoc each one. so Address already in use.
Re: Address already in use problem
On Wed, Sep 21, 2016 at 03:56:41PM +, David Laight wrote: > From: Neil Horman > > Sent: 21 September 2016 16:43 > > On Wed, Sep 21, 2016 at 09:44:30PM +0800, Sun Paul wrote: > > > Hi > > > > > > we have an SCTP application running in JAVA. and we found that there > > > is a problem when we as a client trying to connect to a remote IP > > > address. > > > > > > If the remote IP address is not accessible, our application will keep > > > retrying to connect using a self-defined local port address, says > > > 51001, > > > > > > We found that after sometimes, says 2 hrs, this port 51001 is never > > > able to bind to us again. even we tried to restart the application. > > > > > Sounds like you have another application that inadvertently bound to that > > port. > > Its not a privlidged port, nor is it well known, so it seems plausible that > > another application would eventually bind to it. Thats not a bug, just the > > way > > ip works. > > > > run netstat -anp | grep 51001 > > > > And see what application is holding the port. > > Not much chance of a distro having a netstat that gives sctp info. > You might find something in /proc/net/sctp. > True, but there is also no guarantee that the other application that claimed the port in question is using SCTP. Neil > 3.18 contains a fix for a problem with shutdown() being called > after the remote sends an INIT to restart an active connection > when there is unacked data. > If that happens the socket isn't released ever. > > A workaround is to use SO_LINGER to get the connection aborted. > > David > >
RE: Address already in use problem
From: Neil Horman > Sent: 21 September 2016 16:43 > On Wed, Sep 21, 2016 at 09:44:30PM +0800, Sun Paul wrote: > > Hi > > > > we have an SCTP application running in JAVA. and we found that there > > is a problem when we as a client trying to connect to a remote IP > > address. > > > > If the remote IP address is not accessible, our application will keep > > retrying to connect using a self-defined local port address, says > > 51001, > > > > We found that after sometimes, says 2 hrs, this port 51001 is never > > able to bind to us again. even we tried to restart the application. > > > Sounds like you have another application that inadvertently bound to that > port. > Its not a privlidged port, nor is it well known, so it seems plausible that > another application would eventually bind to it. Thats not a bug, just the > way > ip works. > > run netstat -anp | grep 51001 > > And see what application is holding the port. Not much chance of a distro having a netstat that gives sctp info. You might find something in /proc/net/sctp. 3.18 contains a fix for a problem with shutdown() being called after the remote sends an INIT to restart an active connection when there is unacked data. If that happens the socket isn't released ever. A workaround is to use SO_LINGER to get the connection aborted. David
Re: Address already in use problem
On Wed, Sep 21, 2016 at 09:44:30PM +0800, Sun Paul wrote: > Hi > > we have an SCTP application running in JAVA. and we found that there > is a problem when we as a client trying to connect to a remote IP > address. > > If the remote IP address is not accessible, our application will keep > retrying to connect using a self-defined local port address, says > 51001, > > We found that after sometimes, says 2 hrs, this port 51001 is never > able to bind to us again. even we tried to restart the application. > Sounds like you have another application that inadvertently bound to that port. Its not a privlidged port, nor is it well known, so it seems plausible that another application would eventually bind to it. Thats not a bug, just the way ip works. run netstat -anp | grep 51001 And see what application is holding the port. Neil > Is there anyone know how we can resolve this? > > -RBK > -- > To unsubscribe from this list: send the line "unsubscribe linux-sctp" in > the body of a message to majord...@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html >
Re: Address already in use problem
Hi we are using redhat 2.6.32-642.4.2.el6.x86_64 On Wed, Sep 21, 2016 at 10:04 PM, Marcelo Ricardo Leitner wrote: > Hi, > > On Wed, Sep 21, 2016 at 09:44:30PM +0800, Sun Paul wrote: >> Hi >> >> we have an SCTP application running in JAVA. and we found that there >> is a problem when we as a client trying to connect to a remote IP >> address. >> >> If the remote IP address is not accessible, our application will keep >> retrying to connect using a self-defined local port address, says >> 51001, >> >> We found that after sometimes, says 2 hrs, this port 51001 is never >> able to bind to us again. even we tried to restart the application. >> >> Is there anyone know how we can resolve this? > > Which kernel are you using? Depending on it, that may be fixed by a > recent patchset from Xin Long, 'sctp: fix the transmit err process' > patchset more exactly. > > Marcelo >
Re: Address already in use problem
On Wed, Sep 21, 2016 at 10:15:43PM +0800, Sun Paul wrote: > Hi > > we are using redhat 2.6.32-642.4.2.el6.x86_64 > > On Wed, Sep 21, 2016 at 10:04 PM, Marcelo Ricardo Leitner > wrote: > > Hi, > > > > On Wed, Sep 21, 2016 at 09:44:30PM +0800, Sun Paul wrote: > >> Hi > >> > >> we have an SCTP application running in JAVA. and we found that there > >> is a problem when we as a client trying to connect to a remote IP > >> address. > >> > >> If the remote IP address is not accessible, our application will keep > >> retrying to connect using a self-defined local port address, says > >> 51001, > >> > >> We found that after sometimes, says 2 hrs, this port 51001 is never > >> able to bind to us again. even we tried to restart the application. > >> > >> Is there anyone know how we can resolve this? > > > > Which kernel are you using? Depending on it, that may be fixed by a > > recent patchset from Xin Long, 'sctp: fix the transmit err process' > > patchset more exactly. > > > > Marcelo Ah no, then that's another thing. If you cannot test/use an upstream kernel, then I'd recommend you to open a support case/bug with them. Thanks, Marcelo
Re: Address already in use problem
Hi, On Wed, Sep 21, 2016 at 09:44:30PM +0800, Sun Paul wrote: > Hi > > we have an SCTP application running in JAVA. and we found that there > is a problem when we as a client trying to connect to a remote IP > address. > > If the remote IP address is not accessible, our application will keep > retrying to connect using a self-defined local port address, says > 51001, > > We found that after sometimes, says 2 hrs, this port 51001 is never > able to bind to us again. even we tried to restart the application. > > Is there anyone know how we can resolve this? Which kernel are you using? Depending on it, that may be fixed by a recent patchset from Xin Long, 'sctp: fix the transmit err process' patchset more exactly. Marcelo
Address already in use problem
Hi we have an SCTP application running in JAVA. and we found that there is a problem when we as a client trying to connect to a remote IP address. If the remote IP address is not accessible, our application will keep retrying to connect using a self-defined local port address, says 51001, We found that after sometimes, says 2 hrs, this port 51001 is never able to bind to us again. even we tried to restart the application. Is there anyone know how we can resolve this? -RBK