Error after package update
-
Just updated a number of packages on my pfSense where pfBlockerNG-Dev is one of them. After updating them the GUI stopped working. The crash report from the GUI gives me the following information which points at pfBlocker:
[04-Jan-2025 16:38:29 Europe/Stockholm] PHP Fatal error: Uncaught Error: Call to undefined function config_read_file() in /usr/local/pkg/pfblockerng/pfblockerng.inc:693 Stack trace: #0 /usr/local/pkg/pfblockerng/pfblockerng.inc(826): pfb_global() #1 /usr/local/www/widgets/widgets/pfblockerng.widget.php(36): require_once('/usr/local/pkg/...') #2 /usr/local/www/index.php(539): include('/usr/local/www/...') #3 {main} thrown in /usr/local/pkg/pfblockerng/pfblockerng.inc on line 693
When reading the update log I see an error listed at the end of the update which also makes me beleve that pfBlocker has something to do with the issue I'm seeing:
[24.03-RELEASE][admin@***]/cf/conf: cat pkg_log_pfSense-pkg-pfBlockerNG-devel.txt >>> Upgrading pfSense-pkg-pfBlockerNG-devel... 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 26 package(s) will be affected (of 0 checked): Installed packages to be UPGRADED: gettext-runtime: 0.22.3 -> 0.22.5 [pfSense] grepcidr: 2.0 -> 2.0_1 [pfSense] iprange: 1.0.4 -> 1.0.4_2 [pfSense] jq: 1.7_2 -> 1.7.1 [pfSense] libargon2: 20190702 -> 20190702_1 [pfSense] libffi: 3.4.4 -> 3.4.6 [pfSense] libiconv: 1.17 -> 1.17_1 [pfSense] liblz4: 1.9.4,1 -> 1.10.0,1 [pfSense] libmaxminddb: 1.8.0 -> 1.11.0 [pfSense] libxml2: 2.10.4_2 -> 2.11.9 [pfSense] lighttpd: 1.4.73 -> 1.4.76 [pfSense] lua54: 5.4.6 -> 5.4.7 [pfSense] mpdecimal: 2.5.1 -> 4.0.0 [pfSense] nettle: 3.9.1 -> 3.10_1 [pfSense] pcre2: 10.42 -> 10.43 [pfSense] pfSense-pkg-pfBlockerNG-devel: 3.2.0_10 -> 3.2.1_20 [pfSense] php83: 8.3.1 -> 8.3.12 [pfSense] php83-intl: 8.3.1_1 -> 8.3.12 [pfSense] py311-maxminddb: 2.5.1 -> 2.6.2 [pfSense] py311-sqlite3: 3.11.7_8 -> 3.11.10_8 [pfSense] python311: 3.11.7 -> 3.11.10 [pfSense] readline: 8.2.7 -> 8.2.13_2 [pfSense] rsync: 3.2.7 -> 3.3.0 [pfSense] sqlite3: 3.44.0_1,1 -> 3.46.1,1 [pfSense] xxhash: 0.8.2 -> 0.8.2_1 [pfSense] zstd: 1.5.5 -> 1.5.6 [pfSense] Number of packages to be upgraded: 26 The operation will free 22 MiB. 41 MiB to be downloaded. [1/26] Fetching py311-sqlite3-3.11.10_8.pkg: .. done [2/26] Fetching mpdecimal-4.0.0.pkg: ....... done [3/26] Fetching lighttpd-1.4.76.pkg: ......... done [4/26] Fetching nettle-3.10_1.pkg: .......... done [5/26] Fetching lua54-5.4.7.pkg: ..... done [6/26] Fetching libiconv-1.17_1.pkg: .......... done [7/26] Fetching jq-1.7.1.pkg: .... done [8/26] Fetching libxml2-2.11.9.pkg: ......... done [9/26] Fetching grepcidr-2.0_1.pkg: . done [10/26] Fetching libargon2-20190702_1.pkg: .. done [11/26] Fetching xxhash-0.8.2_1.pkg: ..... done [12/26] Fetching iprange-1.0.4_2.pkg: . done [13/26] Fetching python311-3.11.10.pkg: .......... done [14/26] Fetching rsync-3.3.0.pkg: .......... done [15/26] Fetching liblz4-1.10.0,1.pkg: .... done [16/26] Fetching zstd-1.5.6.pkg: .......... done [17/26] Fetching pcre2-10.43.pkg: .......... done [18/26] Fetching gettext-runtime-0.22.5.pkg: ....... done [19/26] Fetching php83-8.3.12.pkg: .......... done [20/26] Fetching pfSense-pkg-pfBlockerNG-devel-3.2.1_20.pkg: ......... done [21/26] Fetching sqlite3-3.46.1,1.pkg: .......... done [22/26] Fetching php83-intl-8.3.12.pkg: .... done [23/26] Fetching libmaxminddb-1.11.0.pkg: . done [24/26] Fetching libffi-3.4.6.pkg: . done [25/26] Fetching readline-8.2.13_2.pkg: ...... done [26/26] Fetching py311-maxminddb-2.6.2.pkg: . done Checking integrity... done (0 conflicting) [1/26] Upgrading mpdecimal from 2.5.1 to 4.0.0... [1/26] Extracting mpdecimal-4.0.0: .......... done [2/26] Upgrading gettext-runtime from 0.22.3 to 0.22.5... [2/26] Extracting gettext-runtime-0.22.5: .......... done [3/26] Upgrading libffi from 3.4.4 to 3.4.6... [3/26] Extracting libffi-3.4.6: .......... done [4/26] Upgrading readline from 8.2.7 to 8.2.13_2... [4/26] Extracting readline-8.2.13_2: .......... done [5/26] Upgrading libxml2 from 2.10.4_2 to 2.11.9... [5/26] Extracting libxml2-2.11.9: .......... done [6/26] Upgrading libargon2 from 20190702 to 20190702_1... [6/26] Extracting libargon2-20190702_1: .......... done [7/26] Upgrading python311 from 3.11.7 to 3.11.10... [7/26] Extracting python311-3.11.10: .......... done [8/26] Upgrading liblz4 from 1.9.4,1 to 1.10.0,1... [8/26] Extracting liblz4-1.10.0,1: .......... done [9/26] Upgrading pcre2 from 10.42 to 10.43... [9/26] Extracting pcre2-10.43: .......... done [10/26] Upgrading nettle from 3.9.1 to 3.10_1... [10/26] Extracting nettle-3.10_1: .......... done [11/26] Upgrading lua54 from 5.4.6 to 5.4.7... [11/26] Extracting lua54-5.4.7: ......... done [12/26] Upgrading libiconv from 1.17 to 1.17_1... [12/26] Extracting libiconv-1.17_1: .......... done [13/26] Upgrading xxhash from 0.8.2 to 0.8.2_1... [13/26] Extracting xxhash-0.8.2_1: .......... done [14/26] Upgrading zstd from 1.5.5 to 1.5.6... [14/26] Extracting zstd-1.5.6: .......... done [15/26] Upgrading php83 from 8.3.1 to 8.3.12... [15/26] Extracting php83-8.3.12: .......... done [16/26] Upgrading sqlite3 from 3.44.0_1,1 to 3.46.1,1... [16/26] Extracting sqlite3-3.46.1,1: .......... done [17/26] Upgrading libmaxminddb from 1.8.0 to 1.11.0... [17/26] Extracting libmaxminddb-1.11.0: .......... done [18/26] Upgrading py311-sqlite3 from 3.11.7_8 to 3.11.10_8... [18/26] Extracting py311-sqlite3-3.11.10_8: ........ done [19/26] Upgrading lighttpd from 1.4.73 to 1.4.76... ===> Creating groups Using existing group 'www' ===> Creating users Using existing user 'www' [19/26] Extracting lighttpd-1.4.76: .......... done [20/26] Upgrading jq from 1.7_2 to 1.7.1... [20/26] Extracting jq-1.7.1: .......... done [21/26] Upgrading grepcidr from 2.0 to 2.0_1... [21/26] Extracting grepcidr-2.0_1: ..... done [22/26] Upgrading iprange from 1.0.4 to 1.0.4_2... [22/26] Extracting iprange-1.0.4_2: ..... done [23/26] Upgrading rsync from 3.2.7 to 3.3.0... [23/26] Extracting rsync-3.3.0: .......... done [24/26] Upgrading php83-intl from 8.3.1_1 to 8.3.12... [24/26] Extracting php83-intl-8.3.12: .......... done [25/26] Upgrading py311-maxminddb from 2.5.1 to 2.6.2... [25/26] Extracting py311-maxminddb-2.6.2: .......... done [26/26] Upgrading pfSense-pkg-pfBlockerNG-devel from 3.2.0_10 to 3.2.1_20... [26/26] Extracting pfSense-pkg-pfBlockerNG-devel-3.2.1_20: .......... done Removing pfBlockerNG-devel components... Menu items... done. Services... done. Loading package instructions... Removing pfBlockerNG... All customizations/data will be retained... done. Saving updated package information... overwrite! Loading package configuration... done. Configuring package components... Loading package instructions... <pre style="white-space: pre-wrap;">PHP ERROR: Type: 1, File: /usr/local/pkg/pfblockerng/pfblockerng.inc, Line: 693, Message: Uncaught Error: Call to undefined function config_read_file() in /usr/local/pkg/pfblockerng/pfblockerng.inc:693 Stack trace: #0 /usr/local/pkg/pfblockerng/pfblockerng.inc(826): pfb_global() #1 /etc/inc/pkg-utils.inc(888): require_once('/usr/local/pkg/...') #2 /etc/rc.packages(76): install_package_xml() #3 {main} thrown</pre>===== Message from grepcidr-2.0_1: -- ===> NOTICE: The grepcidr port currently does not have a maintainer. As a result, it is more likely to have unresolved issues, not be up-to-date, or even be removed in the future. To volunteer to maintain this port, please create an issue at: https://bugs.freebsd.org/bugzilla More information about port maintainership is available at: https://docs.freebsd.org/en/articles/contributing/#ports-contributing >>> Cleaning up cache...done. __RC=0
Anyone have a good suggestion on what I should do to make everything work again? I only have cli access at the moment. Tried to restore a backup from the main menu but it hags. I have config backups uploaded to the builtin Netgate cloud service if that helps. Can I restore them manually from cli?
Thanks!
-
Small update, when trying to restore an old configuration from cli I get the following error message:
Enter an option: 15 <pre style="white-space: pre-wrap;">PHP ERROR: Type: 1, File: /etc/inc/xmlparse.inc, Line: 133, Message: Maximum execution time of 900 seconds exceeded</pre>PC Engines APU2 Platform ("apu4" model) - Netgate Device ID: *********************
-
I ended up with reinstalling the box and then restoring an old backup to get everything up and running again. Do love the auto backup feature available in pfSense
-
Just to ask, did you have the 24.03 update branch selected when you updated packages? If you were set to 24.11 for example it would install the wrong package and could break pfSense.
Since you have Plus, if you had made a boot environment before the package updates that can be reverted at the loader menu:
https://docs.netgate.com/pfsense/en/latest/backup/zfsbe/loader.html
(if that would work in your situation)or a fallback via https://docs.netgate.com/pfsense/en/latest/backup/zfsbe/tips.html
I'm not in the habit yet of making a boot env. before package updates but I guess that's not a bad idea!
Packages can be manually reinstalled at the command line: https://forum.netgate.com/topic/176044/force-reinstall-of-packages-os-from-the-command-line/2
-
@elexir said in Error after package update:
pfBlockerNG-Dev
The latest version, or development version, is written with the latest version of pfSense in mind.
That not 24.03, but 24.11.
Next time : always start by checking what the latest pfSense version is and if needed, update pfSense first.
Then, start to think about upgrading packages. -