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

Aaron An (JIRA) noreply at issues.asterisk.org
Wed Nov 22 09:32:07 CST 2017


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

Aaron An edited comment on ASTERISK-27299 at 11/22/17 9:31 AM:
---------------------------------------------------------------

I see Thead  298 is blocked in read().  read() don't return and blocked all the time.

(gdb) break alertpipe.c:108 thread 298
Breakpoint 1 at 0x43f6c3: file alertpipe.c, line 108.
(gdb) thread 298
[Switching to thread 298 (Thread 0x7f3b9ae9f700 (LWP 16465))]
#0  0x00007f3cd3d3b49d in read () from /lib64/libpthread.so.0
(gdb) n
Single stepping until exit from function read,
which has no line number information.
... here never return.


info about Thread 298:

Thread 298 (Thread 0x7f3b9ae9f700 (LWP 16465)):

#0  0x00007f3cd3d3b49d in read () from /lib64/libpthread.so.0
#1  0x000000000043f6dc in ast_alertpipe_read (alert_pipe=0x7f3cac0e0c60) at alertpipe.c:108
#2  0x0000000000540b01 in ast_channel_internal_alert_read (chan=0x7f3cac0e0300) at channel_internal_api.c:1260
#3  0x00000000005162de in __ast_read (chan=0x7f3cac0e0300, dropaudio=0) at channel.c:3895
#4  0x0000000000519bb2 in ast_read (chan=0x7f3cac0e0300) at channel.c:4384
#5  0x00000000004c0b24 in bridge_handle_trip (bridge_channel=0x7f3ca027f610) at bridge_channel.c:2397
#6  0x00000000004c1414 in bridge_channel_wait (bridge_channel=0x7f3ca027f610) at bridge_channel.c:2567
#7  0x00000000004c20a8 in bridge_channel_internal_join (bridge_channel=0x7f3ca027f610) at bridge_channel.c:2713
#8  0x0000000000496362 in ast_bridge_join (bridge=0x7f3ca018a1f0, chan=0x7f3cac0e0300, swap=0x0, features=0x7f3b9ae9ae00, 
    tech_args=0x0, flags=(AST_BRIDGE_JOIN_PASS_REFERENCE | AST_BRIDGE_JOIN_INHIBIT_JOIN_COLP)) at bridge.c:1712
#9  0x00000000005a9e46 in ast_bridge_call_with_flags (chan=0x7f3cac0e0300, peer=0x7f3ca038a590, config=0x7f3b9ae9bf10, flags=0)
    at features.c:672
#10 0x00000000005a9fde in ast_bridge_call (chan=0x7f3cac0e0300, peer=0x7f3ca038a590, config=0x7f3b9ae9bf10) at features.c:711


was (Author: aaron):
I see Thead  298 is blocked in read().  read() don't return and blocked all the time.

(gdb) break alertpipe.c:108 thread 298
Breakpoint 1 at 0x43f6c3: file alertpipe.c, line 108.
(gdb) thread 298
[Switching to thread 298 (Thread 0x7f3b9ae9f700 (LWP 16465))]
#0  0x00007f3cd3d3b49d in read () from /lib64/libpthread.so.0
(gdb) n
Single stepping until exit from function read,
which has no line number information.

info about Thread 298:

Thread 298 (Thread 0x7f3b9ae9f700 (LWP 16465)):

#0  0x00007f3cd3d3b49d in read () from /lib64/libpthread.so.0
#1  0x000000000043f6dc in ast_alertpipe_read (alert_pipe=0x7f3cac0e0c60) at alertpipe.c:108
#2  0x0000000000540b01 in ast_channel_internal_alert_read (chan=0x7f3cac0e0300) at channel_internal_api.c:1260
#3  0x00000000005162de in __ast_read (chan=0x7f3cac0e0300, dropaudio=0) at channel.c:3895
#4  0x0000000000519bb2 in ast_read (chan=0x7f3cac0e0300) at channel.c:4384
#5  0x00000000004c0b24 in bridge_handle_trip (bridge_channel=0x7f3ca027f610) at bridge_channel.c:2397
#6  0x00000000004c1414 in bridge_channel_wait (bridge_channel=0x7f3ca027f610) at bridge_channel.c:2567
#7  0x00000000004c20a8 in bridge_channel_internal_join (bridge_channel=0x7f3ca027f610) at bridge_channel.c:2713
#8  0x0000000000496362 in ast_bridge_join (bridge=0x7f3ca018a1f0, chan=0x7f3cac0e0300, swap=0x0, features=0x7f3b9ae9ae00, 
    tech_args=0x0, flags=(AST_BRIDGE_JOIN_PASS_REFERENCE | AST_BRIDGE_JOIN_INHIBIT_JOIN_COLP)) at bridge.c:1712
#9  0x00000000005a9e46 in ast_bridge_call_with_flags (chan=0x7f3cac0e0300, peer=0x7f3ca038a590, config=0x7f3b9ae9bf10, flags=0)
    at features.c:672
#10 0x00000000005a9fde in ast_bridge_call (chan=0x7f3cac0e0300, peer=0x7f3ca038a590, config=0x7f3b9ae9bf10) at features.c:711

> 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, 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