Segmentation fault error

Hello.

We are suddenly getting this fault sent back in CRON log emails.
We sent email campaigns up until last week without problems for a long time.

/bin/bash: line 1: 2261489 Segmentation fault      /opt/alt/php56/usr/bin/php /home/webuserx/public_html/webuserx.co.uk/phplist/admin/index.php -pprocessqueue -c/home/webuserx/public_html/webuserx.co.uk/phplist/config/config.php > /dev/null 2>&1

We haven’t changed anything with the install, updated anything recently since last week when it was working, so I can only imagine the shared hosting provider has changed something.

Has anyone come across something like this before?
I have some SSH CLI access and tried a few things to get a direct error message but nothing so far.
I tired running the cron command via php cli, but it just returns binary.

I have informed the host support but I need to get it fixed really quickly as the email could lose us a lot of money if we don’t get it out.

Kind regards.

EDIT, it is sending some messages very slowly though, about 4 every 10 minutes.

phpList ver. 3.6.7
php ver 5.6

It’s running at full speed again after only sending about 70 per hour along with the segerror sent from CRON.

I don’t know if this was because of the hosts fixing something yet, but it coincided around the same time with me updating the Amazon SES plugin. I’m not sure what version it was, but I think it was updated April 2022 last.

If so, is there any reason the Amazon SES plugin would work just last week, but then suddenly not this week? Says on GitHub SES plugin was updated last about 7 months ago, so it doesn’t really add up.

I updated the CommonPlugin too (currently 3.18.3+20220415) but that gave me a blank white screen crashing the whole install, so had to revert.back.Again, something else that coincided with the sudden springing back to life, but not making any sense that’s what fixed things.

I’m not too sure about your error. I’m sure @duncanc will chime in. But this sounds like what I was going through a few months ago.

If you are on shared hosting, its likely your hosting provider is throttling your outgoing emails. Many hosting providers keep a close eye on outgoing bulk email. Especially if you start getting a lot of spam reports or repeated or high rates of bounce messages.

Your hosting provider will tell you how many emails can be sent per hour. (Probably 500). You can then throttle the outgoing mail using the settings in the phpList config file to stay within that threshold.

Also, make sure you have bounce processing and suppression set up correctly. Use one of the various public bounce testers to make sure there are no errors and phpList can suppress the user.

1 Like

We’ve always used Amazon SES smtp for sending, so I don’t think it’s that. I’m pretty strict with bounces and what not too, and we have a very good reputation on our AWS account in that regard, no flags or errors with AWS etc.

Just a very strange situation. The hosts did reply almost instantly at 7am when I informed them it was working again and they said they changed nothing to fix it.

It just doesn’t make a lot of sense that we randomly received the segerror, and then updating the Amazon SES plugin which hasn’t been updated for several months, would have fixed it?

Partly posting this for others in case they run into the same situation as there isn’t much about it on Google, in regards to PHPlist, nothing in fact. All I could gather is that segerrors normally have something to do with memory issues and errors.

Also, I’ll mention again that I switched to PHP 7.4 (from 5.6) and reflected that in the CRON command too, and that didn’t flush anything and gave the same segerror.

Strange indeed.

Do you have SPF, DKIM, and DMARC set up?

Yes, I have those set up, I think it might actually be a requirement for AWS SES SMTP to validate, I can’t remember now.

@AZBackroads @duncanc

Re this segfault.

I believe I’ve found where this lies.

As a reminder this is PHPList 3.6.7 running on PHP 5.6, and I hadn’t touched the install or plugins, and the install was working until last week as it had for a long time.

The issue seems to have something to do with Amazon SES / the SES and CommonPlugin, plugins.

I updated the Amazon SES plugin, which installed and didn’t break PHPList, but, that alone doesn’t fix this segerror.

I updated the common plugin (3.18.3+20220415 to 3.25.1), results in breaking PHPList for me.

I FTP’ed the backup of plugins/Common folder ONLY (not plugins/CommonPlugin) so, a sort of hybrid of the plugin versions, and it all works fine this way, as far as I can tell.

I can only assert that something changed with AWS SES API this last week which the CommonPlugin v3.18~ doesn’t agree with.

Any ideas?

Cheers.

@UtopiaOperaX Thanks for the investigation. By installing php 5.6 locally I can create a “white page” which is due to php syntax that is not valid in php 5.6. But fixing that causes further errors due to php 7 syntax.
These errors are in other packages that are included by Common Plugin, not in the plugin itself, so are not code that I would have looked at.

I have tried to avoid making php 7 a hard requirement for using Common Plugin but it looks like I will now need to do that. In your case, if you continue to use php 5.6 you will need to ensure not upgrading Common Plugin either directly or by upgrading phplist itself because that now includes the latest version of Common Plugin.

i have no insight into the original segmentation fault. I have installed version 3.18.3 of Common Plugin with the latest Amazon SES plugin and can send a test email successfully using php 5.6. I’m not in a position to send a large number of emails though.

1 Like

Good morning.
Well, I have since painstakingly upgraded a few hundred pages worth of old site code to at least PHP 7.4 standard (mostly converting mysql funcs to mysqli) and flipped the switch to PHP7.4, yayyy! That was a lot of fun :hot_face:

So, yeah, running everything on 7.4 now, ran tests, watching error logs. Oh, process queue wasn’t moving then remembered CRON command looks directly at the php version, so edited that dir to /opt/alt/php74/usr/bin/php /home/...; upgraded CommonPlugin, which didn’t error… so touch wood (my keyboard rest is oak - that’s luck for ya!) all is well for the future going forward.

Kind regards.

PS, yes, I could send single tests at a time without getting the segfault too. Really weird.