Fatal Error: Declaration of GoogleMapsApi

After the Update from PHP to 8.1 and Librenms 22.10.0 the discover Jobs aborts in the os module @GoogleMapsApi.php
we use google API to translate the adress to LatLng

$ ./validate.php

Component Version
LibreNMS 22.10.0-92-gb807fd526 (2022-11-07T21:28:16+01:00)
DB Schema 2022_08_15_084507_add_rrd_type_to_wireless_sensors_table (248)
PHP 8.1.12
Python 3.9.15
Database MariaDB 10.5.15-MariaDB
RRDTool 1.8.0
SNMP 5.9.1
===========================================

[OK] Composer Version: 2.4.4
[OK] Dependencies up-to-date.
[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]
[OK] Database schema correct
[OK] MySQl and PHP time match
[OK] Distributed Polling setting is enabled globally
[OK] Connection to memcached is ok
[OK] Connected to rrdcached
[OK] Active pollers found
[OK] Dispatcher Service not detected
[OK] Locks are functional
[OK] Python poller wrapper is polling
[OK] Redis is unavailable
[WARN] IPv6 is disabled on your server, you will not be able to add IPv6 devices.
[OK] rrdtool version ok
[OK] Connected to rrdcached


$ ./discovery.php -h 28016
LibreNMS Discovery
82.218.15.112 28016 iosxe

Load disco module core

OS: Cisco IOS-XE (iosxe)

Runtime for discovery module ‘core’: 0.0840 seconds with 2575776 bytes
SNMP: [1/0.06s] MySQL: [0/0.00s] RRD: [0/0.00s]

Unload disco module core

Load disco module os

Declaration of App\ApiClients\GoogleMapsApi::parseLatLng(array $data): array must be compatible with App\ApiClients\GeocodingHelper::parseLatLng($data) {“exception”:“[object] (Symfony\Component\ErrorHandler\Error\FatalError(code: 0): Declaration of App\ApiClients\GoogleMapsApi::parseLatLng(array $data): array must be compatible with App\ApiClients\GeocodingHelper::parseLatLng($data) at /usr/opt/librenms/app/ApiClients/GoogleMapsApi.php:43)”}

In GoogleMapsApi.php line 43:

Declaration of App\ApiClients\GoogleMapsApi::parseLatLng(array $data): array must be compatible with App\ApiClients\GeocodingHelper::parseLatLng($data)

$
$

** Debug Mode **

$ ./discovery.php -d -h 28016
LibreNMS Discovery
SQL[select migration from migrations order by id desc limit 1 0.52ms]

SQL[select count(*) as aggregate from migrations 0.55ms]

SQL[select version() 0.65ms]

===========================================

Component Version
LibreNMS 22.10.0-92-gb807fd526 (2022-11-07T21:28:16+01:00)
DB Schema 2022_08_15_084507_add_rrd_type_to_wireless_sensors_table (248)
PHP 8.1.12
Python 3.9.15
Database MariaDB 10.5.15-MariaDB
RRDTool 1.8.0
SNMP 5.9.1
===========================================
DEBUG!
Updating os_def.cache
SQL[SELECT * FROM devices WHERE disabled = 0 AND device_id = ‘28016’ AND poller_group IN(0,1) ORDER BY device_id DESC 0.91ms]

SQL[select * from devices where device_id = ? limit 1 [28016] 1.36ms]

SQL[select * from devices_attribs where devices_attribs.device_id = ? and devices_attribs.device_id is not null [28016] 0.52ms]

82.218.15.112 28016 iosxe [FPING] ‘/usr/local/sbin/fping’ ‘-e’ ‘-q’ ‘-c’ ‘3’ ‘-p’ ‘300’ ‘-t’ ‘4000’ ‘-O’ ‘0’ ‘82.218.15.112’

response: xmt/rcv/%loss = 3/3/0%, min/avg/max = 4/5.15/6.12
SNMP[‘/usr/local/bin/snmpget’ ‘-M’ ‘/usr/opt/librenms/mibs:/usr/opt/librenms/mibs/cisco’ ‘-v2c’ ‘-c’ ‘COMMUNITY’ ‘-OQXUte’ ‘-t’ ‘2’ ‘-r’ ‘2’ ‘udp:HOSTNAME:161’ ‘SNMPv2-MIB::sysObjectID.0’]
SNMPv2-MIB::sysObjectID.0 = SNMPv2-SMI::enterprises.9.1.2745

Modules status: Global+
OS
Device

Load disco module core

Attempting to initialize OS: iosxe
OS initialized: LibreNMS\OS\Iosxe
SNMP[‘/usr/local/bin/snmpget’ ‘-M’ ‘/usr/opt/librenms/mibs:/usr/opt/librenms/mibs/cisco’ ‘-v2c’ ‘-c’ ‘COMMUNITY’ ‘-OQXUte’ ‘-On’ ‘-t’ ‘2’ ‘-r’ ‘2’ ‘udp:HOSTNAME:161’ ‘SNMPv2-MIB::sysObjectID.0’ ‘SNMPv2-MIB::sysDescr.0’ ‘SNMPv2-MIB::sysName.0’]
...0 = ...2745
...0 = Cisco IOS Software [Amsterdam], ISR Software (ARMV8EL_LINUX_IOSD-UNIVERSALK9_IAS-M), Version 17.3.4a, RELEASE SOFTWARE (fc3)
Technical Support: Support - Cisco Support and Downloads – Documentation, Tools, Cases - Cisco
Copyright (c) 1986-2021 by Cisco Systems, Inc.
Compiled Tue 20-Jul-21 04:11
...0 = cr-oan-y00551b00.net.kabelplus.at

| Cisco IOS Software [Amsterdam], ISR Software (ARMV8EL_LINUX_IOSD-UNIVERSALK9_IAS-M), Version 17.3.4a, RELEASE SOFTWARE (fc3)
Technical Support: Support - Cisco Support and Downloads – Documentation, Tools, Cases - Cisco
Copyright (c) 1986-2021 by Cisco Systems, Inc.
Compiled Tue 20-Jul-21 04:11 | .1.3.6.1.4.1.9.1.2745 |

OS: Cisco IOS-XE (iosxe)

Attempting to initialize OS: iosxe
OS initialized: LibreNMS\OS\Iosxe

Runtime for discovery module ‘core’: 0.0890 seconds with -239192 bytes
SNMP: [1/0.06s] MySQL: [0/0.00s] RRD: [0/0.00s]

Unload disco module core

Modules status: Global+
OS+
Device

Load disco module os

Yaml location data:
SNMP[‘/usr/local/bin/snmpget’ ‘-v2c’ ‘-c’ ‘COMMUNITY’ ‘-Oqv’ ‘-M’ ‘/usr/opt/librenms/mibs:/usr/opt/librenms/mibs/cisco’ ‘-t’ ‘2’ ‘-r’ ‘2’ ‘udp:HOSTNAME:161’ ‘SNMPv2-MIB::sysLocation.0’]
[Austria; **** *********; *****************] // (commented out)

SQL[select * from locations where (location = ?) limit 1 [“[Austria; **** *********; *****************]”] 0.61ms]
Google Maps geocode engine

Fatal error: Declaration of App\ApiClients\GoogleMapsApi::parseLatLng(array $data): array must be compatible with App\ApiClients\GeocodingHelper::parseLatLng($data) in /usr/opt/librenms/app/ApiClients/GoogleMapsApi.php on line 43
Declaration of App\ApiClients\GoogleMapsApi::parseLatLng(array $data): array must be compatible with App\ApiClients\GeocodingHelper::parseLatLng($data) {“exception”:“[object] (Symfony\Component\ErrorHandler\Error\FatalError(code: 0): Declaration of App\ApiClients\GoogleMapsApi::parseLatLng(array $data): array must be compatible with App\ApiClients\GeocodingHelper::parseLatLng($data) at /usr/opt/librenms/app/ApiClients/GoogleMapsApi.php:43)”}

In GoogleMapsApi.php line 43:

Declaration of App\ApiClients\GoogleMapsApi::parseLatLng(array $data): array must be compatible with App\ApiClients\GeocodingHelper::parseLatLng($data)

$

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