Data Widgets randomly fail - “No Data” / “Product element has empty data”
Hi,
I am having issues with Data Widgets in Xibo Docker.
Both Menu Board and DataSet widgets behave inconsistently:
-
Sometimes they work in the Layout Designer
-
Sometimes the Designer shows:
Product element has empty data
- On the Windows Player they often do not render at all.
In the player logs I repeatedly see:
Widget: 129, [5001] No Data, ttl: 60
I can also see Widget Sync successfully processing and caching the widgets:
getData: finished getting data. There are 2 records returned
saveToCache: cached /widget/dataset/...
notifyDataUpdate: Process displayId: 2
So the CMS appears to retrieve the data correctly, but the player still reports “No Data”.
Extra notes:
-
Using Windows Player
-
Docker install
-
Latest Xibo CMS image
-
Memcached disabled (same issue with and without it)
-
Docker compose taken from the official documentation
This is my docker compose:
services:
xibo-db:
image: mysql:8.0
volumes:
- "./shared/db:/var/lib/mysql:Z"
environment:
- MYSQL_DATABASE=cms
- MYSQL_USER=cms
- MYSQL_RANDOM_ROOT_PASSWORD=yes
mem_limit: 1g
env_file: config.env
restart: always
xibo-xmr:
image: ghcr.io/xibosignage/xibo-xmr:1.0
ports:
- "9505:9505"
restart: always
mem_limit: 256m
env_file: config.env
xibo-web:
image: ghcr.io/xibosignage/xibo-cms:latest
container_name: xibo-web
volumes:
- "./shared/cms/custom:/var/www/cms/custom:Z"
- "./shared/backup:/var/www/backup:Z"
- "./shared/cms/web/theme/custom:/var/www/cms/web/theme/custom:Z"
- "./shared/cms/library:/var/www/cms/library:Z"
- "./shared/cms/web/userscripts:/var/www/cms/web/userscripts:Z"
- "./shared/cms/ca-certs:/var/www/cms/ca-certs:Z"
restart: always
environment:
- MYSQL_HOST=xibo-db
- XMR_HOST=xibo-xmr
- CMS_USE_MEMCACHED=false
- MEMCACHED_HOST=xibo-memcached
env_file: config.env
ports:
- '8282:80'
mem_limit: 1g
xibo-memcached:
image: memcached:alpine
command: memcached -m 15
restart: always
mem_limit: 100M
xibo-quickchart:
image: ianw/quickchart
restart: always
Has anyone seen this before?
How can i solve this?