Segfault Asterisk 16.24.1

My asterisk stopped an leave this message:

/var/log/kern.log

Jul 12 13:33:07 central kernel: [5441971.005719] asterisk[45834]: segfault at 69 ip 00005585926bbada sp 00007f352f194cb0 error 4 in asterisk[558592625000+311000]

/var/log/asterisk/full

[2022-07-12 13:33:07] ERROR[45834][C-000078a1] : Got 7 backtrace records
[2022-07-12 13:33:07] ERROR[45834][C-000078a1] bridge_channel.c: FRACK!, Failed assertion bad magic number 0x0 for object 0x7f3558042490 (0)
[2022-07-12 13:33:07] ERROR[45834][C-000078a1] : Got 7 backtrace records
# 0: /usr/sbin/asterisk(__ao2_unlock+0x7d) [0x55859269152d]
# 1: /usr/sbin/asterisk(ast_bridge_queue_everyone_else+0x2fa) [0x5585926bbcaa]
# 2: /usr/sbin/asterisk(+0x8d445) [0x5585926b2445]
# 3: /usr/sbin/asterisk(+0x8ba52) [0x5585926b0a52]
# 4: /usr/sbin/asterisk(+0x1ceabc) [0x5585927f3abc]
# 5: /lib/x86_64-linux-gnu/libpthread.so.0(+0x74a4) [0x7f35f67a54a4]
# 6: /lib/x86_64-linux-gnu/libc.so.6(clone+0x3f) [0x7f35f53afd0f]

That wasn’t the first time asterisk stopped work with a segfault but was the first time I got backtrace records on /var/log/asterisk/full what is the problem and how can I solve that?

  • Asterisk 16.24.1
  • Debian 9.11
  • 4.9.0-11-amd64

You probably can’t. It would need to be filed as an issue[1] following the wiki instructions[2] for getting an actual backtrace, along with log and description of usage of Asterisk. The version of Asterisk in use is also a few months old so you may be asked to try the latest version instead. There is also no time frame on when such a thing would get looked into.

[1] System Dashboard - Digium/Asterisk JIRA
[2] https://wiki.asterisk.org/wiki/display/AST/Getting+a+Backtrace

I’ve had quite a lot of problems with Asterisk 16 crashing seemingly at random, we decided to upgrade the servers to Asterisk 18 instead, which has been working like a charm ever since, no crashes. Perhaps worth looking into.

Thanks.

I will see if that is possible.
Thanks.

In the past I could use safe_asterisk in case of Asterisk stops unexpectedly, now looks it isn’t possible anymore:

# - Eliminated SAFE_ASTERISK since it doesn't work as LSB script (it could require a independent "safe_asterisk" init script).

Is there another way to make Asterisk get back running automatically in case it stops for any reason?

There’s a systemd unit file example supplied with many of the recent versions of asterisk. You can start with that, and modify it to restart asterisk on crash. Check the manual of systemd for the actual entries you need to add, as I can’t remember them.

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