Segmentation fault on SRCDS Linux

I’ve recently swapped our servers over to Linux.
We’ve been having a nasty issue with the server crashing however.
This can happen multiple times a day. It crashes saying something along the lines of:

Any way I could fix this?

Add -debug and give us the log?

While I was still on linux, I noticed these too. Never looked into it, but are you with NFO perchance?

Didn’t come up with anything. I’ll try it again

[editline]14th October 2017[/editline]

Nope, with HostHatch.

Add +r_hunkalloclightmaps 0 to your command line.

Already have that too. I’ve actually switched to Crident and still get it. A lot less, but it still happens

Been getting (I feel) the exact same issue after switching to Ubuntu 16.04.3 about a week ago, multiple crashes per day and on separate srcds installations.
Both of these seem to be getting the problem more frequently (uptime on one of the servers went from 36 hours to an average of 3) as time goes on, which is particularly worrying. It doesn’t appear related to playercount as there’s no increased frequency during peak hours.

Adding -debug to the launch params doesn’t generate a debug.log anywhere in the srcds directory but it does seem to make core dump files. I’ve searched around and tried to open one with gdb but didn’t get very far – that might be me doing something wrong as I’ve never done this sort of thing before.
Since this is happening on multiple servers that only have almost nothing in common in regards to content/addons (and also ran fine about a week ago on a windows server) I think it’s on a dependency/system level. Both servers also have +r_hunkalloclightmaps 0 set and to be safe I’ve verified the installs.

Anyone know how to diagnose this further?

Sharing this here just in case it saves anyone else a few headaches: after some digging the lack of a debug.log file was caused by the standard limit on core dump file sizes which caused them to get truncated and thus become unreadable by the crash handler script.
By default the limit hovers between 100 and 200mb, for me the core dump file was around 4gb.

You can increase this in several ways:

  • For your current shell session (probably not what you want since it means you have to leave your server running in it):

ulimit -c unlimited

  • Permanently for one or all users by appending the following line in /etc/security/limits.conf:

[user or * for all users] - core unlimited

This one requires a full machine reboot.

  • For a currently running process until it terminates (seems to reset on a map change as well):

prlimit --pid [pid of your srcds process] --core=unlimited:unlimited

You can check the current value by removing the --core flag e.g. prlimit --pid 26019

Might vary slightly for other distros.

Can’t do that, I don’t have access to the machine that my server is running on.

well that does make it difficult to diagnose but in my case it was bromsock causing the crashes, not sure as to why or how yet as the module does work, we use (well, used) it quite extensively

if you happen to use that try disabling it and see if it changes anything