Segfault with ARI

Crash.txt (57.1 KB)

We’re running a .Net proxy service application which connects to our Asterisk Certified 13.8-cert1 (on Ubuntu 16.04.1 LTS), and during operation today Asterisk crashed with a segfault (see the enclosed crash file

Looking at the log files for our .Net proxy, we see that Asterisk closed the WebSocket connection as it crashed. Up until about three seconds before the crash we’d been moving callers in batches of between 5 and 10 between bridges, using /bridges/{bridgeId}/addChannel. Previously we’d also been muting and unmuting batches of callers using /channels/{channelId}/mute.

It might be worth noting that we perform these batch operations using the .Net’s Parallel.ForEach, which means that each command is issued on a separate thread to the same WebSocket connection.

Can you help us? We’re happy to spend as much time as it takes to understand what is happening.

Your backtrace doesn’t really make sense, it’s as if it’s looking against a different version of Asterisk.

I’d suggest trying the latest version of Asterisk though and if the issue persists then filing an issue[1]. Certified only receives changes as a result of commercial customers.

[1] https://issues.asterisk.org/jira

In the end, we solved this problem by increasing the Websocket timeout quite substantially. Given the large protocol overhead for each command, it might be a nice idea to have some ARI batch commands - for example, mute or unmute a list of channels.