Urgent: Segmentation Fault in res_digium_phone.s - asterisk constantly restarting

Can anyone help me with this? Asterisk is now constantly restarting. Looking at /var/log/messages, I’m getting:

asterisk[31924]: segfault at 30 ip 00007f09b32585e1 sp 00007f09affa8bd0 error 4 in res_digium_phone.s....

Can anyone help me with this?

I’m running FreePBX 15.0.37.4 and Asterisk Version 13.38.3

Not sure what to try. I’ve tried a full restart of the system. Didn’t help.

Thanks!

Asterisk 13 is way out of life. If it is segfaulting and giving you issues…you need to upgrade to current versions.

happily - is this straightforward? I’ve not had any messages anywhere to say I need or should upgade

You should not have to upgrade the version to fix something if it was working fine before. I’m still running Asterisk 11 on some servers.

It’s odd because the server had hitherto been rock solid for months - I’m confused what a segfault is I guess - I thought it was maybe a read error from the binary - but having erased it and re-installed it, wouldn’t that get around that problem?

I can see this recommendation

(but I’m not sure if I should do it)

Also this

https://sangomakb.atlassian.net/wiki/spaces/FP/pages/13205629/FreePBX+PBXact+16+Version+Upgrade+Module

but again, not sure if I should do it…

I know that it took literally months of tweaking and fiddling to get a stable and reliable setup going and even though the system is now broken I’m wary of breaking it more!

A segmentation fault occurs when a program attempts to access a memory location that it is not allowed to access, or attempts to access a memory location in a way that is not allowed (for example, attempting to write to a read-only location, or to overwrite part of the operating system).

So at this point, you would need to figure out what is causing this. Backtraces would be required but at this point, no matter what the backtraces show you would be stuck fixing the underlying problem on your own. If this fix requires code in Asterisk to be touched and then recompiled, that would be something you need to do. The Asterisk project isn’t going to do it because they’ve probably have already address the issue in more current versions that have been released over the years.

There could be numerous reasons as to why this is happening from a bug in Asterisk to memory on the system having issues such as leaks, etc.

If you’re going to resintall to ‘fix it’ then just get current and that way you can get actual support for issues.

You’re right. They don’t have to upgrade but at the same time there’s no support from the project/vendor for these issues. Someone could point out the issue and even offer a way to fix it but then you have to do the work.

And the logic of “It was working fine until this broke” doesn’t mean you don’t need to update/replace something. Everything works fine until it breaks and some times, at the point, the only fix is to update/replace what you have.

1 Like

Thanks. I suspect something went wrong - looks like the hard disk filled up to 100% capacity last night.

I am in a bit of a fix as it looks like the digium phones module is removed in FreePBX 16 and I very much need that to avoid spending hours on site configuring the phones with EPM.

I guess I can’t upgrade Asterisk itself any further?

Happy to do the work but at this point I am supporting this particular install for free whilst doing another full time job, at a location that is remote from where the server is.

Hence why I’m looking for the most targeted fix :frowning:

That will do it.

Well it’s gone for good. So you either need to do the work or be stuck on older versions of FreePBX and Asterisk that are no longer supported.

Asterisk 13? No, it’s done. I don’t think the FreePBX v13 distro has an upgrade path beyond that. You might get Asterisk v14 with FreePBX v13 but that will be it.

Honestly, the most targeted fix is upgrading to current versions. At this point though, you may just want to wait until the summer, if possible. Since there is no upgrade path from FreePBX 16 distro to FreePBX 17 (underlying OS change).

I get you’ll have to do a conversion on the phones but you can either spend a couple hours up front doing the changes now…or spend hours upon hours over the long term trying to fix outdated software that has no support or fixes to help you.

1 Like

I’m struggling (not in a belligerent way!) to understand WHAT has gone for good? It’s clearly not the asterisk13-res_digium_phone-3.6.5-1.sng7.x86_64 itself as I did a yum erase and then a yum install and both the erase and install went fine…

I’m on FreePBX v15 and Sangoma distro (CentOS 7?) I think

That module, it has been ported into the Endpoint Manager as for FreePBX v16.

In that case you might be able to get to Asterisk v16.

@lgaetz do you think there’s any point me downgrading asterisk by just one increment in the hope it repairs whatever is going wrong with the digium phones module? That’s the only thing that makes Asterisk crash, the Digium phones trying to connect…

OK, an update (just for interest)

I told the desk phones to download new config files from a URL, and they all reclutantly just…booted! Even though the config file did not exist on the server. They had to be told to ‘retry’ (they all failed on first instruction, said correctly that there was no config file) but after that they worked/booted up as they had before the segfault.

So it looks like the phones and the server can live on for now - thank goodness - I did NOT have time to recommission the entire server. That took MONTHS to do in the first place (on and off) and I’m not convinced the backup/restore thing would have worked without many hitches.

Thanks all!!