2.03 to 2.2.2 problem



  • Upgraded a remote router from 2.03 to 2.2.2 now I am getting this message when I try to log into the web gui.

    Parse error: syntax error, unexpected T_FUNCTION in /etc/inc/filter.inc on line 2353

    Router still seems to be working fine. All IPSEC connections are working and remote locations still have internet. Dumb mistake had tested hardware locally with 2.2.1 update without issue and didn't notice it had gone to 2.2.2 on the auto update. Already updated numerous remote boxes to 2.2.1 without issue for router update at main location because 2.2 firmware plays nicer with other boxed routers than 2.1 firmware.

    Has anyone seen this before? Will a reboot kill me or possibly correct it? Do I need to start driving that direction to reinstall 2.2.2 clean?

    Thanks for any input.



  • Odd. Can you reach the console, or SSH? Try running: "php -v", what does that look like?

    I wouldn't reboot it for the moment at least.



  • The code at line 2353 is:

    array_walk($pptp_subnets, function (&$value, $key) {$value="!{$value}";});
    

    I can make use of that code fine on a 2.2.2 system in Diagnostics->Command Prompt
    The "function" being defined inside the array_walk is a feature supported since PHP 5.3 - a long time ago.
    Is there some way an old version of PHP is getting on your system?



  • @phil.davis:

    The "function" being defined inside the array_walk is a feature supported since PHP 5.3 - a long time ago.
    Is there some way an old version of PHP is getting on your system?

    That's exactly what I'm wondering, though that should be impossible (short of maybe a manual gitsync all the way up to RELENG_2_2 to "upgrade" possibly?).



  • @phil.davis:

    The code at line 2353 is:

    array_walk($pptp_subnets, function (&$value, $key) {$value="!{$value}";});
    

    I can make use of that code fine on a 2.2.2 system in Diagnostics->Command Prompt
    The "function" being defined inside the array_walk is a feature supported since PHP 5.3 - a long time ago.
    Is there some way an old version of PHP is getting on your system?

    Only thing that has ever been on the system is pfsense 2.0.3 just invoked the autoupdate to 2.2.2 and it did that. Did the exact same thing on 2 remote systems clicked them both and came back to that. They were the last 2 I needed to update.

    Sorry have SSH disabled.

    Wondering if it may have tried to throw it to AMD64 in the upgrade they are Atom systems and the 64 wouldn't load on them originally.



  • Update, Hard reboot fixed the issue.

    Had them do one at end of day to see if I needed to drive down there tomorrow.



  • I see now how that happened. The re-issued update file from last week had different ownership of files within it, and when coming from an 8.x or earlier base OS version (2.1.x or earlier), mtree would die before finishing the file permissions fixes. The former issue is fixed for any systems upgraded from here out.



  • I just had this same error after an auto-upgrade. I think I was upgrading from 2.0.3.
    SSH isn't working. The console is requesting a login and my webconfig username isn't working as well as "root". It seems to be operating as normal otherwise.
    I'll probably have to wait till end of day to reboot.
    I think this router knows I just bought some new hardware to replace.



  • Hello everybody,

    I had the (bad) idea of upgrading an older pfSense installation to the most current version (2.2.2) today… The older version was still running 2.0xx ...
    Well after the update went through I am not confronted with this error "Parse error: syntax error, unexpected T_FUNCTION in /etc/inc/filter.inc on line 2353"

    Initially I thought that problem was fixed already but unfortunately that doesn't seem to be the way...
    The next problem is that SSH and the IPMI interface is not responding --> not access to the firewall anymore :-(
    A hard reboot didn't fix the issue :-(

    So I have to get to the DC tomorrow...

    How could I fix the problem when I have direct access to the console?
    Or what should I do?

    Thanks a lot in advance!

    Best regards,

    Chris



  • probably best to install a clean 2.2.2 and import the config.xml from the old install.



  • Thanks heper,

    I ended up doing exactly that ;-)

    Thanks and best regards,

    Chris


Log in to reply