Bug #13589
closedpfSense - Feature #13446: Upgrade PHP from 7.4 to 8.1
PHP Errors during cellular package installation on CE 2.7
100%
Description
Full install log:
Installing pfSense-pkg-cellular...
Updating pfSense-core repository catalogue...
pfSense-core repository is up to date.
Updating pfSense repository catalogue...
pfSense repository is up to date.
All repositories are up to date.
The following 3 package(s) will be affected (of 0 checked):
New packages to be INSTALLED:
pfSense-pkg-cellular: 1.2.3_2 [pfSense]
py39-pyserial: 3.5_2 [pfSense]
py39-setuptools: 63.1.0 [pfSense]
Number of packages to be installed: 3
The process will require 9 MiB more space.
1 MiB to be downloaded.
[1/3] Fetching pfSense-pkg-cellular-1.2.3_2.pkg: ... done
[2/3] Fetching py39-pyserial-3.5_2.pkg: .......... done
[3/3] Fetching py39-setuptools-63.1.0.pkg: .......... done
Checking integrity... done (0 conflicting)
[1/3] Installing py39-setuptools-63.1.0...
[1/3] Extracting py39-setuptools-63.1.0: .......... done
[2/3] Installing py39-pyserial-3.5_2...
[2/3] Extracting py39-pyserial-3.5_2: .......... done
[3/3] Installing pfSense-pkg-cellular-1.2.3_2...
[3/3] Extracting pfSense-pkg-cellular-1.2.3_2: ......... done
Saving updated package information...
done.
Loading package configuration... done.
Configuring package components...
Loading package instructions...
Custom commands...
Executing custom_php_global_functions()...
Fatal error: Uncaught TypeError: array_key_exists(): Argument #2 ($array) must be of type array, string given in /usr/local/pkg/cellular.inc:151
Stack trace:
#0 /etc/inc/pkg-utils.inc(779) : eval()'d code(1): cellular_before_everything()
#1 /etc/inc/pkg-utils.inc(779): eval()
#2 /etc/inc/pkg-utils.inc(891): eval_once('cellular_before...')
#3 /etc/rc.packages(76): install_package_xml('cellular')
#4 {main}
thrown in /usr/local/pkg/cellular.inc on line 151
PHP ERROR: Type: 1, File: /usr/local/pkg/cellular.inc, Line: 151, Message: Uncaught TypeError: array_key_exists(): Argument #2 ($array) must be of type array, string given in /usr/local/pkg/cellular.inc:151
Stack trace:
#0 /etc/inc/pkg-utils.inc(779) : eval()'d code(1): cellular_before_everything()
#1 /etc/inc/pkg-utils.inc(779): eval()
#2 /etc/inc/pkg-utils.inc(891): eval_once('cellular_before...')
#3 /etc/rc.packages(76): install_package_xml('cellular')
#4 {main}
thrownpkg-static: POST-INSTALL script failed
Cleaning up cache... done.
Success
Updated by Kris Phillips about 2 years ago
Full crash report:
Crash report begins. Anonymous machine information:
amd64
14.0-CURRENT
FreeBSD 14.0-CURRENT #0 devel-main-n255802-8d2600d5897c: Fri Oct 21 06:29:29 UTC 2022 root@freebsd:/var/jenkins/workspace/pfSense-CE-snapshots-master-main/obj/amd64/Q7bZCsJY/var/jenkins/workspace/pfSense-CE-snapshots-master-main/sources/FreeBSD-src-de
Crash report details:
PHP Errors:
[22-Oct-2022 19:47:01 Etc/UTC] PHP Fatal error: Uncaught TypeError: array_key_exists(): Argument #2 ($array) must be of type array, string given in /usr/local/pkg/cellular.inc:151
Stack trace:
#0 /etc/inc/pkg-utils.inc(779) : eval()'d code(1): cellular_before_everything()
#1 /etc/inc/pkg-utils.inc(779): eval()
#2 /etc/inc/pkg-utils.inc(891): eval_once('cellular_before...')
#3 /etc/rc.packages(76): install_package_xml('cellular')
#4 {main}
thrown in /usr/local/pkg/cellular.inc on line 151
[22-Oct-2022 19:48:11 Etc/UTC] PHP Fatal error: Uncaught TypeError: array_key_exists(): Argument #2 ($array) must be of type array, string given in /usr/local/pkg/cellular.inc:151
Stack trace:
#0 /etc/inc/pkg-utils.inc(779) : eval()'d code(1): cellular_before_everything()
#1 /etc/inc/pkg-utils.inc(779): eval()
#2 /etc/inc/pkg-utils.inc(1088): eval_once('cellular_before...')
#3 /etc/rc.packages(80): delete_package_xml('cellular', 'deinstall')
#4 {main}
thrown in /usr/local/pkg/cellular.inc on line 151
No FreeBSD crash data found.
Updated by aleksei prokofiev about 2 years ago
Yes, I can confirm such bug on 2.7 CE
Updated by Danilo Zrenjanin about 2 years ago
- Status changed from New to Confirmed
Updated by Kris Phillips about 2 years ago
This issue is still present in Nov 18th builds.
Updated by Jim Pingle almost 2 years ago
- Status changed from Confirmed to In Progress
- Assignee set to Jim Pingle
Updated by Jim Pingle almost 2 years ago
- Status changed from In Progress to Feedback
Fix committed, it will be in snapshots tomorrow to test. Since the package couldn't even install I tested bits of the code separately but we won't know for sure if it's in a good state until there is a new package build to test.
https://github.com/pfsense/FreeBSD-ports/commit/056eabb6ba70408a576dabcc6a8a5950f6d0e8b6
Updated by Jim Pingle almost 2 years ago
- Status changed from Feedback to Resolved
- % Done changed from 0 to 100
Package installs and deinstalls without error. Visting the GUI page and using the widget also do not produce any errors. That said, I don't have an actual cellular modem to test beyond that part.
Closing it since the original complaint is resolved, if there are other functional issues they can go in a fresh issue with more specific details.