Segfault Asterisk 16.10 on CentOS 7

After the commissioning of the servers began to notice that there are falling:

kernel: asterisk[30565]: segfault at 0 ip 00000000004aef83 sp 00007f7e98cd09b8 error 4 in asterisk[400000+2b7000]

gdb /usr/sbin/asterisk /tmp/core-2020-07-15T16:29:33+0300 :

[Thread debugging using libthread_db enabled]
Using host libthread_db library “/usr/lib64/”.
Missing separate debuginfo for /usr/lib64/
Try: yum --enablerepo=‘debug’ install /usr/lib/debug/.build-id/42/ae4bf83278c9d4b55688364cce526619bcdba4.debug
Core was generated by `/usr/sbin/asterisk -f -vvvg -c’.
Program terminated with signal 11, Segmentation fault.
#0 ast_channel_is_multistream (chan=0x0) at channel_internal_api.c:1590
1590 return (chan->tech && chan->tech->read_stream && chan->tech->write_stream);

(gdb) bt
#0 0x00000000004aef83 in ast_channel_is_multistream (chan=0x0) at channel_internal_api.c:1590
#1 0x000000000047d083 in bridge_channel_write_action_data (frame=0x7f7e98cd09d0, bridge_channel=0x7f7f4c1d9910) at bridge_channel.c:650
#2 0x000000000047d083 in bridge_channel_write_action_data (bridge_channel=0x7f7f4c1d9910, action=, data=, datalen=) at bridge_channel.c:1005
#3 0x000000000047bd1b in payload_helper_playfile (post_it=post_it@entry=0x47d039 <bridge_channel_write_action_data>, bridge_channel=bridge_channel@entry=0x7f7f4c1d9910, custom_play=custom_play@entry=0x0, playfile=,
playfile@entry=0x7f7e98cd0b10 “beep”, moh_class=, moh_class@entry=0x0) at bridge_channel.c:1356
#4 0x00000000004809dc in ast_bridge_channel_write_playfile (bridge_channel=bridge_channel@entry=0x7f7f4c1d9910, custom_play=custom_play@entry=0x0, playfile=playfile@entry=0x7f7e98cd0b10 “beep”, moh_class=moh_class@entry=0x0)
at bridge_channel.c:1361
#5 0x0000000000472597 in ast_bridge_transfer_attended (to_transferee=0x7f7eb000fea0, to_transfer_target=0x7f7f400f0f80) at bridge.c:4805
#6 0x00007f7eda9aff31 in refer_attended_task (data=0x7f7f4803ee68) at res_pjsip_refer.c:543
#7 0x0000000000580790 in ast_taskprocessor_execute (tps=tps@entry=0x7f7f4007bb70) at taskprocessor.c:1237
#8 0x0000000000587217 in execute_tasks (data=0x7f7f4007bb70) at threadpool.c:1354
#9 0x0000000000580790 in ast_taskprocessor_execute (tps=0x177aaa0) at taskprocessor.c:1237
#10 0x0000000000587da9 in worker_start (pool=0x1778ea0) at threadpool.c:367
#11 0x0000000000587da9 in worker_start (worker=0x7f7ea8073bc0) at threadpool.c:1137
#12 0x0000000000587da9 in worker_start (arg=arg@entry=0x7f7ea8073bc0) at threadpool.c:1056
#13 0x000000000058eb57 in dummy_start (data=) at utils.c:1249
#14 0x00007f7f5a2e5ea5 in start_thread () at /usr/lib64/
#15 0x00007f7f596868dd in clone () at /usr/lib64/

PBX: Asterisk 16.10.0
PJProject: 2.8
OS: CentOS Linux release 7.8.2003 (Core)
Kernel: 4.20.3-1.el7.elrepo.x86_64

I would suggest filing an issue on the issue tracker[1] as there may be a race condition whereby the channel goes away while some frames are in flight.


I listened to your advice and created a task in Jira

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.