Xibo works only untill first layout change is made

Today I have installed Xibo 1.8.2 using Docker Toolbox. I am able to access the CMS and can also link the player to it. However I’m accounting a problem. After creating a layout the Xibo player for Windows will show this layout. However as soon as I will make a change to the layout (doesn’t matter how small, e.g. adding one extra character to a text field, moving a region) the layout stops working. Xibo player will only show the splash screen.

In the screenshot below layout 5 is planned for this display. When I start the Xibo player after creating the layout with only a text field it is shown. I can restart the player and it is still shown. Then I add one character to the text field and the layout cannot be loaded anymore.

Could you go to Modules page -> Verify all

Could you tell me if player is using the default local library location?

When you make change to the layout does it display any errors on the status screen / CMS Log page?

What does it report on the ‘Manage’ page in CMS for that display?

failing that, please enable auditing on the player, recreate the problem and then check the CMS Log page for more information.

Verified all modules, I have tried this earlier today without any results.
Player is using default location, also tried on another PC, this results in the same problem.
Layout shows message that it’s ready to be played.

Today I have reïnstalled Xibo in docker. Many installs failed because no ‘shared’ folder was created. When there was no shared folder created I was able to change the layout and restart the player. However then changes are not saved after a reboot so that isn’t really an option. After re-installing docker and xibo a couple of times suddenly the shared folder was created and also the problem was back. Again i’m not able to change the layout. The status screen shows every file is downloaded except the XLF file.

Actually it seems it did download everything, that two files might be ‘red’ only because of cache, which you can clear by Edit&Save the Display record.

I’d expect there to be more error messages in player status window / CMS logs related to this issue.

I’m not sure how you managed to install it without /shared folder, it needs to be there, did you follow the instructions here? https://xibo.org.uk/manual/en/install_docker_winother_64bit.html

Are you using default ports or custom ports and with that what command do you use to start the docker containers?

I have been able to narrow down the problem a bit.

Screenshots below show the 1.xlf file. First one is the updated on the server. Second one is on the client. It shows in windows explorer that is updated but it doesn’t contain the new text, however it shows a lot of nul characters (in notepad they look spaces). To me it seems that the file in the docker container is corrupted, the one in the shared folder however is the right one. If I use ‘docker-compose stop’ and ‘docker-compose start’ then the right file will be loaded by the player.

I can’t find any more error in the cms. Don’t know if it is an error but saw: "Cache miss for setCurrentLayoutId on display OF-LP-03’. Layout status shows a checkmark, display status shows a cross.

Only thing changed in config file is the MySQL password. Installed in folder C:\Users\xibo-docker using command ‘docker-compose up -d’.

Running with default ports. Configured virtualbox to forward port 8081 to port 80. CMS is reachable from browser and player is able to connect.

Finally solved this issue.
The issue is related to the Apache setting ‘EnableSendfile’. This setting has to be turned off when using Docker toolbox because that’s based on Virtualbox.

Here’s how i changed this setting. I’m new to docker so don’t know if this is the best way to do this.
Open the Docker quickstart terminal:
Command docker exec -it xibodocker_cms-web_1 bash

This will open bash inside the docker container.
Commands:
cd /etc/apache2/

Use vi to edit the file “apache2.conf” (for more information about vi see: https://www.cs.colostate.edu/helpdocs/vi.html)
Add the line EnableSendfile off to the bottom of this config file
After that restart the Apache webserver using /etc/init.d/apache2 restart

Then close the terminal. Xibo player works now just fine.

I’m glad to hear that solved it for you.

If you look in the CMS Settings -> General -> File Download mode, to what is that set to now?

Are you able to download the files from library (manually from CMS) etc as well?

I can’t find the setting you’re referring to. Downloading media manually from the CMS library works fine too.

Ah right, I forgot that it is most likely hidden in settings, you could check that in database, but if everything is working fine now and the downloads on the player are reliable then there is no need to do that.