[OpenSIPS-Users] ERROR:core:io_watch_del: BUG - trying to del fd 38 with flags 2 1
Bogdan-Andrei Iancu
bogdan at opensips.org
Tue Aug 4 16:51:03 CEST 2015
Hi Rahul,
Any logs will be useful (use some pastebin or file transfer to upload).
On your observations : when a connection timeout does expire (via
__tcpconn_lifetime()), reactor_del_all() removes the fd with both
IO_WATCH_READand IO_WATCH_WRITE flags.While in the logs it shows "1",
removing with READ only.
Going back
Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com
On 04.08.2015 16:29, Gupta, Rahul wrote:
>
> Hi Bogdan,
>
> I tried the scenario with 1.11.3 as well as 1.11.5 latest code and
> could reproduce it consistently. I can turn on the higher debug level
> logging and provide you the log file. Let me know where can I upload
> these logs ?
>
> Thanks
>
> Rahul
>
> *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
> *Sent:* Tuesday, August 04, 2015 8:18 AM
> *To:* Gupta, Rahul; users at lists.opensips.org
> *Subject:* Re: ERROR:core:io_watch_del: BUG - trying to del fd 38 with
> flags 2 1
>
> Hi Rahul,
>
> I tried to reproduce your scenario during the last 2 days. Thanks to
> the detailed instructions and stepping, I mananged to get (as
> described) to the last step. But instead of getting the error you
> mentioned, the tcp conn timeout event was properly handled:
>
> [23203] DBG:core:__tcpconn_lifetime: timeout for hash=3 -
> 0x7f94f298fea0 (322 > 317)
> [23203] DBG:core:io_watch_del: [TCP_main] io_watch_del op on index -1
> 29 (0x8828a0, 29, -1, 0x10,0x3) fd_no=22 called
>
> Are you sure you are using the latest GIT code (I tested both 2.1 and
> 1.11).
>
> Regards,
>
>
> Bogdan-Andrei Iancu
> OpenSIPS Founder and Developer
> http://www.opensips-solutions.com
>
> On 31.07.2015 17:40, Gupta, Rahul wrote:
>
> Hi Bogdan, thanks for looking into this issue. Let me know if
> anyway I can help to get to the bottom of this issue, like
> providing logs etc
>
> Thanks
>
> Rahul
>
> *From:*Bogdan-Andrei Iancu [mailto:bogdan at opensips.org]
> *Sent:* Tuesday, July 28, 2015 1:13 PM
> *To:* Gupta, Rahul; users at lists.opensips.org
> <mailto:users at lists.opensips.org>
> *Subject:* Re: ERROR:core:io_watch_del: BUG - trying to del fd 38
> with flags 2 1
>
> Hi Rahul,
>
> These are great news - that you find a way to reproduce it. Let me
> do it and start debugging.
>
> I really do appreciate your effort in dealing with this error.
>
> Regards,
>
>
> Bogdan-Andrei Iancu
>
> OpenSIPS Founder and Developer
>
> http://www.opensips-solutions.com
>
> On 24.07.2015 00:19, Gupta, Rahul wrote:
>
> Hi Bogdan,
>
> Almost a month ago, I have raised the issue regarding the
> opensips log file filling up with the following message
>
> ERROR:core:io_watch_del: BUG - trying to del fd 38 with flags 2 1
>
> Now I can reproduce it every time with the following scenario:
>
> 1)UAC and UAS are connected to opensips proxy with TCP transport
>
> 2)Connections looks good
>
> 3)Netstat shows the connection to UAC in ESTABLISHED state and
> the tcp_conn_lists of opensips also looks fine for that UAC
>
> 4)Now unplug the Ethernet cable on UAC
>
> 5)After tcp connection timeout (set to 5 mins in
> opensips.cfg), the tcp connection goes away from netstat as
> well as from tcp_conn_lists
>
> 6)UAS tries another tcp call to the UAC which is still unplugged
>
> 7)tcp_conn_lists shows the tcp connection to the UAC and
> netstat shows the connection in SYN_SENT state
>
> 8)After the tcp connection timeout (set to 5 mins in
> opensips.cfg), the connection goes away from netstat however
> it remains there in tcp_conn_lists and at that moment the “BUG
> - trying to del fd 38 with flags 2 1” starts printing in
> infinite loop.
>
> I looked at the source code and observed the following
>
> 1)When the network cable is plugged in
>
> The io_watch_add happens with flag IO_WATCH_READ in tcp_main.c
> when the command is CONN_NEW
>
> 2)When the network cable is unplugged
>
> The io_watch_add happens with flag IO_WATCH_WRITE in
> tcp_main.c when the command is ASYNC_CONNECT
>
> 3)While doing io_watch_del after timeout, from
> handle_tcpconn_ev method, io_watch_del always uses
> IO_WATCH_READ to delete the fd, which gives this error in case
> of unplugged cable.
>
> Please look into this and suggest how can I fix this issue ?
>
> Thanks
>
> Rahul Gupta
>
> ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
>
> DISCLAIMER: This e-mail may contain information that is
> confidential, privileged or otherwise protected from
> disclosure. If you are not an intended recipient of this
> e-mail, do not duplicate or redistribute it by any means.
> Please delete it and any attachments and notify the sender
> that you have received it in error. Unintended recipients are
> prohibited from taking action on the basis of information in
> this e-mail.E-mail messages may contain computer viruses or
> other defects, may not be accurately replicated on other
> systems, or may be intercepted, deleted or interfered with
> without the knowledge of the sender or the intended recipient.
> If you are not comfortable with the risks associated with
> e-mail messages, you may decide not to use e-mail to
> communicate with IPC. IPC reserves the right, to the extent
> and under circumstances permitted by applicable law, to
> retain, monitor and intercept e-mail messages to and from its
> systems.
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.opensips.org/pipermail/users/attachments/20150804/e69f91aa/attachment-0001.htm>
More information about the Users
mailing list