Unknown Error when uploading files greater than 1GB

CMS Version

3.1.4

Installation Method

Docker

Operating System

Windows 10

Issue

When uploading a large video file (>1GB) I get the very helpful “Unknown Error” message.
I had turned on extra logging but couldn’t see anything in the logs that might indicate what could be causing the specific issue.

I have looked over lots of help topics and have increased the timeouts, memory limits max file sizes in the config.env and added the timeout command to the database in the docker-compose.yml
I also tried building an Ubuntu server to make sure it was an issue with running docker on Windows.

As a last attempt I had tried to go back to previous versions of the CMS docker image.
I tried 3.1.3 and the issue continued.
I jumped back to 3.1.1 and the files uploaded correctly.
I then tried 3.1.2 and it also worked.
I had tried 3.1.3 again this morning to confirm and that doesn’t work but works again when going back to 3.1.2

So the issue appears to be specific to 3.1.3 and 3.1.4 but not sure what changed that might cause this issue

Not sure what else to try to get the latest version working with the larger files

Hi launceston.college, welcome to the community!

I have been testing your issue and also found that files above 1GB could not be uploaded in 3.1.3 and 3.1.4. I am using a Docker based installation on Linux (Ubuntu) which returns the error Request Entity too large.

After further investigation a member of the team discovered that the issue is related to a config setting that is missing. This has been reported to the developers to be added to future CMS releases.

The setting that is missing is LimitRequestBody, it needs to be added to a specific config file that can be a little tricky to access. Below are instructions on how I did it on my Ubuntu install but I’m aware there will be slight changes to accessing this config file on Windows. If you decide to follow these steps, please make sure to first back up your setup just in case.

How to access and modify the config file.

First I need to know the name of my CMS web container. To find this out I run the Docker ps command. You can see in the Names column my CMS web container is called xibo_cms-web_1 (I highlighted it with the blue line).

Now I need to access the container so I can run commands against it. I used the command:

docker exec -ti xibo_cms-web_1 bash.

Make sure to replace the xibo_cms-web_1 with the name of your container if it is different. When I get a Bash shell command prompt I use the cd (change directory) command to go to /etc/apache2/conf.d. I then use the VI command to open the cms.conf file in the VI text editor. You may not be able to use VI to edit the cms.conf file in Windows, you will therefore need to use an alternative editor to open the file in the command line.

For any users using VI editor with a Linux machine, please make sure to look up how to use VI if you are not familiar with it before attempting to make changes to the config file.

image

This opens the config file that we need to edit. You can see in my screenshot I have added under the KeepAlive Off entry:

LimitRequestBody 0

I save the changes to cms.conf and exit the Bash command line by entering exit.

The final step is to restart the web container to update the changes to the config file. You can do this by using the docker-compose restart command on your CMS web container, or you can use the docker-compose stop command followed by docker-compose start.

After this I was able to upload and import files larger than 1GB. I appreciate these instructions are for a Linux machine as opposed to Windows but I hope that these instructions help you to understand the changes you need to make to the cms.conf file to resolve the issue. Alternatively you will need to revert to a previous CMS version or wait for the next release that includes the change to the config file.

Many Thanks.

Hi @DanBW

Thanks for taking the time to reply to my issue. Apologies for not replying sooner but I had only just noticed this at the end of the day yesterday so had minimal time to test.

I have updated the docker container back to 3.1.4 from 3.1.2 to confirm that I was still having the issue with the latest version, which it was.

I have Portainer set up to manage my docker instance so I was able to use the console option from there and have made the suggested change which appears to have resolved the issue I was having.

I have retested this morning with a couple of large videos at the same time (2.4GB, 1.34GB and 1.26GB) and this appears to have worked

Thanks for looking into it for me

Hi Launceeston College, no need to apologise for the delayed reply. Thank you for replying to my post and confirming that applying this change has resolved the issue on your local setup, I’m really glad to hear that!

Many Thanks.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.