[asterisk-bugs] [JIRA] (ASTERISK-27299) Asterisk Hangs with Bad file descriptor on read()

Aaron An (JIRA) noreply at issues.asterisk.org
Thu Dec 7 20:57:07 CST 2017


    [ https://issues.asterisk.org/jira/browse/ASTERISK-27299?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=240485#comment-240485 ] 

Aaron An edited comment on ASTERISK-27299 at 12/7/17 8:56 PM:
--------------------------------------------------------------

Sean Bright, I actually confirmed that the FD is losing the O_NONBLOCK flag, please see my older comments. When Asterisk hangs I use gdb to attach to the 'pidof asterisk' process, The Thread is blocked at read(), that cause the current channel locked and thus lead to other channels locked.
My asterisk version is just 13.16.0.
Yes Sean Bright you are right, it is better to find out the root cause of losing NONBLOCK flag of FD.
I have the production environment and may hangs every day, and I can leave the asterisk process there to keep the hang status for you. you can ssh login and gdb to see what happened.
BTW, many times when I use gdb to get the stack information, asterisk will recover immediately without restart, it is very strange, isn't it?


was (Author: aaron):
Sean Bright, I actually confirmed that the FD is losing the O_NONBLOCK flag, please see my older comments. When Asterisk hangs I use gdb to attach to the 'pidof asterisk' process, The Thread is blocked at read(), that cause the current channel locked and thus lead to other channels locked.
My asterisk version is just 13.16.0.
Yes Sean Bright you are right, it is better to find out the root cause of losing NONBLOCK flag of FD.
I have the production environment and may hangs every day, and I can leave the asterisk process there to keep the hang status for you. you can ssh login and gdb to see what happened.
BTW, many times when I use gdb to get the stack information, asterisk will recover immediately without restart, it is very strange? isn't it?

> Asterisk Hangs with Bad file descriptor on read()
> -------------------------------------------------
>
>                 Key: ASTERISK-27299
>                 URL: https://issues.asterisk.org/jira/browse/ASTERISK-27299
>             Project: Asterisk
>          Issue Type: Bug
>      Security Level: None
>          Components: Bridges/bridge_native_rtp
>    Affects Versions: 13.17.1
>         Environment: Ubuntu 16.04 with asterisk 13.17.1 
>            Reporter: Abhay Gupta
>            Assignee: Unassigned
>         Attachments: 11.log, 12.log, 3858.threads.log, latestGDB, modules.conf.sample, output2.txt, sip-3-0002949d.log, taskprocessSterl.txt
>
>
> Asterisk stops responding and only have errors of alertpipe 
> {noformat}
> Sep 26 15:36:05] WARNING[3133] bridge_channel.c: Weird.  No frame from bridge for Local/agentmanual at asterisk-00013cae;1 to process?
> [Sep 26 15:36:05] WARNING[3133] alertpipe.c: read() failed: Bad file descriptor
> [Sep 26 15:36:05] WARNING[3133] bridge_channel.c: Weird.  No frame from bridge for Local/agentmanual at asterisk-00013cae;1 to process?
> [Sep 26 15:36:05] WARNING[3133] alertpipe.c: read() failed: Bad file descriptor
> [Sep 26 15:36:05] WARNING[3133] bridge_channel.c: Weird.  No frame from bridge for Local/agentmanual at asterisk-00013cae;1 to process?
> [Sep 26 15:36:05] WARNING[3133] alertpipe.c: read() failed: Bad file descriptor
> [Sep 26 15:36:05] WARNING[3133] bridge_channel.c: Weird.  No frame from bridge for Local/agentmanual at asterisk-00013cae;1 to process?
> {noformat}



--
This message was sent by Atlassian JIRA
(v6.2#6252)



More information about the asterisk-bugs mailing list