Image causing sql errors

I have a jpg image that, when uploaded into the media library, causes sql/database errors which leads to severe VPS performance problems. From the Media window, the cms cannot create a thumbnail, nor can it preview the image. The image cannot be deleted either (a sql error occurs). The only way I can recover from this issue is to remove the image from the server via ssh. Once deleted, the cms is able to recover from the missing library image. Once the cms recovers, everything goes back to normal.

I have no idea what about this image is causing these problems. I have attached the image as well as various screen captures. Any help resolving this would be appreciated. Since I don’t know what is causing it, I don’t know how to guard against it. :frowning:



More info… Using standard docker installation, latest cms version.

The image is vast, so I’d recommend resizing it to roughly the dimensions you’ll end up using it at as a first step.

It doesn’t preview for me in the CMS either, I suspect because it’s using more than the configured PHP memory limit to try and load an image of that resolution in to memory to process it.

I am able to delete it directly from the CMS however.

Thanks Alex. Yes, it is a large image and the best solution is to resize it. I cannot predict what a customer will do however. It would be helpful if the cms could notify the user or reject images that exceed configured limits.

Why does it cause SQL errors? I may have been able to delete via the CMS if I could get past the SQL errors.

It doesn’t cause SQL errors. You’re getting an error that Xibo can’t connect to your SQL server. I assume because PHP uses more memory than your system has, and so MySQL is killed off. I can’t recreate that element of it here using the same containers, so I can only assume you’re fairly memory limited.

It’s worth noting that while the CMS won’t preview that image, it would still be passed to a Player correctly, and while likely that too would struggle to render the image, it would try to. I’m not massively in favour of having arbitrary limits set, as wherever we set those, they’ll be too low for someones use case.