after upgrading to 25.03_Beta Cloned boot environment - now have PHP Fatal error code and blank blue page when attempting to access boot environments
-
Error:
[11-May-2025 23:48:01 America/Denver] PHP Fatal error: Uncaught ValueError: array_combine(): Argument #1 ($keys) and argument #2 ($values) must have the same number of elements in /usr/local/pfSense/include/www/system_be.inc:781
Stack trace:
#0 /usr/local/pfSense/include/www/system_be.inc(781): array_combine(Array, Array)
#1 /usr/local/pfSense/include/www/system_be.inc(907): zfs_list('pfSense/ROOT', 'pfsense:descrip...', 'pfsense:failed', 'pfsense:lastboo...', 'pfsense:prior', 'pfsense:protect', 'pfsense:upgradi...', 'pfsense:version')
#2 /usr/local/www/system_be.php(89): be_get_bootenv_props_ex(Object(LibbeHandle), Array)
#3 {main}
thrown in /usr/local/pfSense/include/www/system_be.inc on line 781
[11-May-2025 23:48:16 America/Denver] PHP Fatal error: Uncaught ValueError: array_combine(): Argument #1 ($keys) and argument #2 ($values) must have the same number of elements in /usr/local/pfSense/include/www/system_be.inc:781
Stack trace:
#0 /usr/local/pfSense/include/www/system_be.inc(781): array_combine(Array, Array)
#1 /usr/local/pfSense/include/www/system_be.inc(907): zfs_list('pfSense/ROOT', 'pfsense:descrip...', 'pfsense:failed', 'pfsense:lastboo...', 'pfsense:prior', 'pfsense:protect', 'pfsense:upgradi...', 'pfsense:version')
#2 /usr/local/www/system_be.php(89): be_get_bootenv_props_ex(Object(LibbeHandle), Array)
#3 {main}
thrown in /usr/local/pfSense/include/www/system_be.inc on line 781 -
So you cloned a 24.11 BE then booted in to it and upgraded that to 25.03-beta?
-
-
@stephenw10 I cloned my 24.11 Release. Did not boot out or reboot. Ran the updater 25.03 Beta and it all worked. I proceeded to System - Boot Environments - to the Active boot environment and proceeded to edit the name and description to reflect a Post 25.03-BETA boot environment. It balked at my first attempt - I assume because I used a comma. I re-edited to remove the comma and saved and here we are!
I have been here before with re-naming a boot environment and php errors.
-
Hmm, OK. What excatly was the BE named before and after?
-
Before: Current_25.03_BETA_Updated_From_24.11_RELEASE_24.11.r.20241112.1813_LAST_ACTIVE
Which is the current BEMy first edit:
Current_25.03_BETA_Updated_From_24.11_RELEASE,24.11.r.20241112.1813_LAST_ACTIVEMy final edit - which lead to the crash report - I believe:
Current_25.03_BETA_Updated_From_24.11_RELEASE_and_24.11.r.20241112.1813_LAST_ACTIVEDescription for both:
Post 25.03 BETA update -
@stephenw10 Some more information - when I decided if I could roll-back using - Diagnostics - configuration history - I get the same blank blue screen with the words "Return to dashboard."
-
@The-Party-of-Hell-No said in after upgrading to 25.03_Beta Cloned boot environment - now have PHP Fatal error code and blank blue page when attempting to access boot environments:
My first edit:
Current_25.03_BETA_Updated_From_24.11_RELEASE,24.11.r.20241112.1813_LAST_ACTIVEThe comma or periods in the name may have triggered something. Valid characters for the BE name field are
[0-9a-zA-Z_]
per the help text in the GUI. -
@marcg From above:
"It balked at my first attempt - I assume because I used a comma. I re-edited to remove the comma and saved and here we are!" -
@The-Party-of-Hell-No said in after upgrading to 25.03_Beta Cloned boot environment - now have PHP Fatal error code and blank blue page when attempting to access boot environments:
when I decided if I could roll-back using - Diagnostics - configuration history - I get the same blank blue screen
So just visiting the Diag > Config History page?
-
@stephenw10 Yes same blank blue screen with the words "Return to Dashboard" which when clicked on returns me to the dashboard.
-
@stephenw10 Hello, I am still being plagued by this error. I rolled back to 24.11? using boot environment selection at bootup -the boot environments are available during the boot process.
Once the 24.11 environment booted, this error is also presented itself in that boot environment.
Another area affected by this error is again in the Diagnostic - Reboot which leads to the blue screen with the words "Return to Dashboard."
Any help or direction would be appreciated.
-
You removed all the BEs with commas in the name?
It sounds like it's failing anywhere it has to parse the BE list and display it.
-
@stephenw10 I did not remove any of the boot environments. I have no access to the boot environments because of this error - other than at boot when I can select the boot environments.
I ended up with this error as I said above after editing the boot environment name - added a comma and it refused the name, corrected the name (Removed the comma) and attempted to save and then the error appeared.
-
@stephenw10 How would I remove, or inspect boot environment names without access through: System - Boot Environments?
-
You can use the command line:
bectl list
Then you can bectl destroy <name> if needed.
-
I do not see any errors in the names. Maybe you see errors?
So my plan, since I am currently booted in to:
Active-Current_25.03_BETA_Updated_From_24.11_RELEASE_24.11.r.20241112.1813_LAST_ACTIVE, is to reboot and boot into:
Archived_Active-Current_24.11_RELEASE_UPDATED_FROM_24.11.r.20241112.1813_clone_2 and then use the bectl to eliminate the two BE created on 5/11 since this is the date of when the error first appeared.For my own education. for this error to appear across all BE means the changes and additions to the BE file are written across/to all BEs, or is a separate file residing on the HDD independent of the BEs?
-
The list of BEs is the same in all BEs. So if you create BE that somehow cannot be disaplayed it will hit the error in any/all BEs.
The actual list of allowed characters doesn't include
.
We had excluded that because all your BE's have names containing that but....I would try renaming the last created BE to something far simpler and test that.
-
So no "." periods. Is there a way to "renaming the last created BE" through the command prompt or in the boot process? I A better question is how to rename without access from the GUI to the BE list and editing.
The difficulty I have with naming is when trying to choose a BE at boot... more details in the name is usually helpful. -
Yes you should be able to just use: bectl rename oldname newname
See: https://man.freebsd.org/cgi/man.cgi?query=bectl
I would at least try the most recent BE as a test there. It's unclear to me why that is hitting the issue and none of the previous ones did though.