Project

General

Profile

Bug #8938

Installation of a package that depends on php72 on a version of pfSense older than 2.4.4-RELEASE breaks the pfSense install

Added by James Dekker 8 months ago. Updated 8 months ago.

Status:
Resolved
Priority:
High
Category:
Package System
Target version:
Start date:
09/24/2018
Due date:
% Done:

0%

Estimated time:
Affected Version:
2.4.4
Affected Architecture:

Description

Install pfSense 2.4.3 and upgrade to 2.4.3_1, go to Available packages and see that the acme package version 0.3.2_3 depends on php72, install acme. The install log will show php56 being removed and php72 being installed. At a point the package install log will stall and if you try to load a GUI page or use a console option, the attempts will fail with php errors.

Ideally, pfSense versions older than 2.4.4 should not be able to see packages which depend on php72, to avoid breaking installs that are not built to use php72.

24-09-2018_22_02_14.png (35.4 KB) 24-09-2018_22_02_14.png pfSense after installing 2.4.3_1 James Dekker, 09/24/2018 09:07 PM
24-09-2018_21_44_34.png (23.1 KB) 24-09-2018_21_44_34.png Available Packages in 2.4.3_1, acme depends on php72 James Dekker, 09/24/2018 09:08 PM
acme-install-2_4_3_p1.log (11.4 KB) acme-install-2_4_3_p1.log Install log from acme on pfSense 2.4.3_1 James Dekker, 09/24/2018 09:10 PM
24-09-2018_21_46_05.png (12.8 KB) 24-09-2018_21_46_05.png Visiting a GUI webpage after installing acme on 2.4.3_1 James Dekker, 09/24/2018 09:11 PM
24-09-2018_21_51_28.png (36.2 KB) 24-09-2018_21_51_28.png Trying to reboot from console after installing acme on 2.4.3_1 James Dekker, 09/24/2018 09:11 PM

History

#1 Updated by Steve Beaver 8 months ago

  • Category set to Package System
  • Assignee set to Renato Botelho
  • Priority changed from Normal to High
  • Target version set to 2.4.4-GS
  • Affected Version set to 2.4.4

#2 Updated by Jim Pingle 8 months ago

See also: #8944

#3 Updated by Renato Botelho 8 months ago

  • Status changed from New to Feedback

pfSense-upgrade 0.53 will prevent users from installing / upgrading additional packages when there is a new major PHP version available on remote repository

#4 Updated by Danilo Zrenjanin 8 months ago

Tested on 2.4.3_1 - I was able to see Acme package which depends on php72 but wasn't able to install it.
Tested on 2.4.4 - Successful install of Acme package no error logs
Tested on 2.4.4_p1 - Successful install of Acme package no error logs

If it is expected behavior we can move this one to resolved.

#5 Updated by Renato Botelho 8 months ago

  • Status changed from Feedback to Resolved

#6 Updated by Steve Beaver 8 months ago

  • Target version changed from 2.4.4-GS to 2.4.4-p1

#7 Updated by Steve Beaver 8 months ago

  • Target version changed from 2.4.4-p1 to 2.4.4-GS

#8 Updated by Dmitriy K 8 months ago

I wonder why 2.4.3 wasnt included in the exclusion list? Unfortunately, now my home router is ruined because of updated packages and I'm 2000km away from it. Can't even restore the router remotely...

#9 Updated by Eduard Rozenberg 8 months ago

Dmitriy K wrote:

I wonder why 2.4.3 wasnt included in the exclusion list? Unfortunately, now my home router is ruined because of updated packages and I'm 2000km away from it. Can't even restore the router remotely...

Same issue here. My 2.4.3 as of yesterday was still showing an incompatible acme package, I clicked to upgrade it, and it broke my system. Luckily the system is still up and routing traffic, but I haven't figured out any way to download or find the older packages to be able to restore the system to the previous OK state. Only thing I know to do now is to reinstall from scratch. Sadness :(.

#10 Updated by Eduard Rozenberg 8 months ago

Dmitriy K wrote:

I wonder why 2.4.3 wasnt included in the exclusion list? Unfortunately, now my home router is ruined because of updated packages and I'm 2000km away from it. Can't even restore the router remotely...

Here's what I did, though completely at your own risk, and if you have no immediate option to reinstall. If your firewall is still running and routing properly, you may want to wait until you're on site before messing with it further. Also, make 1 or 2 local backups of your config from the web UI before messing with the machine further.

ssh to the firewall
$ pkg update
$ pkg upgrade

The above will upgrade remaining packages to get to 2.4.4. But it will not do quite all of necessary steps, see below for one issue I came across.

Reboot the firewall from web interface.
If reboot didn't work properly, may have to reset or power cycle the machine - this was the case for me.

If the auto backup package was previously installed, it will conflict with the autoconfigbackup now built into pfSense 2.4.4. In that case log into web UI and:
1) Services -> Auto Config Backup -> Settings -> turn off Enable ACB and Save
2) Go to Packages and uninstall (trash icon) the old Auto Config Backup package
3) Go back to Service -> Auto Config Backup and re-enable the service, if you are planning to use it

I also went to the web UI packages list, and reinstalled each package one by one, just to make sure they are all properly installed with no errors.

Maybe there are other things that aren't quite right, but the setup appears to be working fine. I will do a proper reinstall at some point just to make sure.

#11 Updated by Dmitriy K 8 months ago

Thanks, Eduard, I will try it later this day.

Also available in: Atom PDF