We are having problems on our dashboard. The images of the graphs have stopped working and when we click on them we get an error message telling us to contact support.
Error-ID : 33cdbeac-34c6-4ea4-a94a-c43004ce8998
Checking the librenms.log the error that appears just when you click on it is the following:
[2025-01-23T11:24:48][ERROR] LibreNMS\Cache\Port::get(): Argument #1 ($port_id) must be of type int, string given, called in /opt/librenms/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 {"userId":48,"exception":"[object] (TypeError(code: 0): LibreNMS\\Cache\\Port::get(): Argument #1 ($port_id) must be of type int, string given, called in /opt/librenms/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 at /opt/librenms/LibreNMS/Cache/Port.php:31)"}
Broken widgets are of the type âmanual portsâ.
This is my validate.php:
===========================================
Component
Version
LibreNMS
25.1.0-36-gfdc303617 (2025-01-23T10:04:55+01:00)
DB Schema
2025_01_22_194342_drop_storage_deleted (312)
PHP
8.3.16
Python
3.10.12
Database
MariaDB 10.6.18-MariaDB-0ubuntu0.22.04.1
RRDTool
1.7.2
SNMP
5.9.1
===========================================
[OK] Composer Version: 2.8.5
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database connection successful
[OK] Database Schema is current
[OK] SQL Server meets minimum requirements
[OK] lower_case_table_names is enabled
[OK] MySQL engine is optimal
[OK] Database and column collations are correct
[OK] Database schema correct
[OK] MySQL and PHP time match
[OK] Active pollers found
[OK] Dispatcher Service not detected
[OK] Locks are functional
[OK] Python poller wrapper is polling
[OK] Redis is unavailable
[OK] rrd_dir is writable
[OK] rrdtool version ok
[2025-01-23T11:19:49][ERROR] LibreNMS\Cache\Port::get(): Argument #1 ($port_id) must be of type ?int, string given, called in /var/www/librenms/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 {âuserIdâ:2,âexceptionâ:â[object] (TypeError(code: 0): LibreNMS\Cache\Port::get(): Argument #1 ($port_id) must be of type ?int, string given, called in /var/www/librenms/vendor/laravel/framework/src/Illuminate/Support/Facades/Facade.php on line 355 at /var/www/librenms/LibreNMS/Cache/Port.php:31)â}
Component
Version
LibreNMS
25.1.0-36-gfdc3036 (2025-01-23T09:04:55+00:00)
DB Schema
2025_01_22_194342_drop_storage_deleted (312)
PHP
8.3.8
Python
3.6.8
Database
MariaDB 10.5.23-MariaDB
RRDTool
1.4.8
SNMP
5.7.2
===========================================
[OK] Composer Version: 2.8.4
[OK] Dependencies up-to-date.
[OK] Database connection successful
[OK] Database connection successful
[OK] Database Schema is current
[OK] SQL Server meets minimum requirements
[OK] lower_case_table_names is enabled
[OK] MySQL engine is optimal
[OK] Database and column collations are correct
[OK] Database schema correct
[OK] MySQL and PHP time match
[OK] Distributed Polling setting is enabled globally
[FAIL] You have not enabled rrdcached
[FIX]:
lnms config:set rrdcached
[OK] Active pollers found
[OK] Dispatcher Service is enabled
[OK] Locks are functional
[OK] No active python wrapper pollers found
[OK] Redis is functional
[OK] rrd_dir is writable
[OK] rrdtool version ok
Okay, itâs worked. But I donât guess itâs the best practice for this issue. Something happened after the update on January 21th. Probably the devâs will never fix it, and in the future we need to exclude this ghost item again. I have a lotâs of manual ports in Dashboard. I really wish they fixed it to avoid future issues.
Ok. I have the solution.
This must be a bug.
When you create a âmanual portâ widget in Ports section automatically adds a ghost item.
You have to delete thie item for it to work.
When you try to edit the element again, the ghost element appears again.
Thanks zr5tux