Upgrade from 2.3.1_1 -> 2.3.1_5 php pages not working



  • I recently upgraded my firewall from 2.3.1-RELEASE-p1 (i386) to 2.3.1-RELEASE-p5 (i386)

    Everything upgraded fine… all working fine... until... :)

    This morning I tried to access the Wake-on-LAN service (services_wol.php) - all I see is a bunch of ASCII art, something like:

    HMa(DY(�5(�(�5(�(H5(�((�(@c(5
    

    Strange… so I thought I'd try in Chrome (I used Firefox initially), posted the full URL in to the address bar and got the same results - which was stranger as I hadn't authenticated via Chrome.

    So, I tried more pages: Dynamic DNS, Firewall Aliases, Diagnostics ARP Table... all the same.

    Starting to feel panic, I thought I'd SSH in to the firewall and see if there's anything looking strange in there - SSH works, but option 8 (Shell) gives:

    /etc/rc.initial: /bin/tcsh: Exec format error
    

    And returns to the Welcome menu

    As this is the only firewall, I'm a little cautious of rebooting it in case it all fails.

    I have repeated the upgrade on the VM appliance, upgrading it from 2.3.1-RELEASE-p1 (amd64) to 2.3.1-RELEASE-p5 (amd64) and that works fine.

    So, is the problem with the i386 version, my installation, or some other issue?

    Does anyone have anyother i386 installation to compare with?

    (And as far as I can tell, the hardware I'm using can only support i386 - it can't support 64bit)

    Thanks



  • I think you should try using the development snapshots, they are fairly stable and 2.3.2 should be around the corner:
    https://snapshots.pfsense.org/


  • Netgate

    That sounds like you had the wrong architecture set and upgraded i386 to amd64. That's pretty hard to do in 2.3 I think.

    Your best bet is probably to download the proper image for your architecture, reinstall fresh, and restore your backup configuration.

    If you want to do some sleuthing first it would be interesting to boot from the aforementioned install media, use the (R)ecovery mode option, and see what's up.

    On my system I ran

    mount /dev/ada0s1a /mnt (Your disk device might be different.)

    then

    file /mnt/bin/tcsh

    and received:

    /mnt/bin/tcsh: ELF 64-bit LSB executable, x86-64, version 1 (FreeBSD), dynamically linked, interpreter /libexec/ld-elf.so.1, for FreeBSD 10.3, stripped

    The output of:

    cat /mnt/cf/conf/upgrade_log.txt

    might be interesting too.



  • @JorgeOliveira:

    I think you should try using the development snapshots, they are fairly stable and 2.3.2 should be around the corner:
    https://snapshots.pfsense.org/

    Yes, I have considered that for my (offline) VM, so that I can keep up with changes… but the firewall support is in a quiet period at the moment so it doesn't get looked at for months at a time (which is a good thing!  ;) )

    @Derelict:

    That sounds like you had the wrong architecture set and upgraded i386 to amd64. That's pretty hard to do in 2.3 I think.

    Good point, but I checked and it's definitely at i386

    Unfortunately, this particular forum thread has come to a quick (but good) end.

    Later this morning, I lost communications entirely through the firewall, so decided that a power cycle was going to have to happen… and now the firewall is back up, "all" (the one's I checked) .php files are working and SSH is working too.

    So, I'm not sure what the original problem is / was - which is worse, as I don't know the root cause.

    I'll have another look at your pointers there Derelict, and see if something obvious pops up - it maybe that I just need to do a fsck (for example)...

    Thanks for the help!


  • Rebel Alliance Developer Netgate

    Sounds like the disk is getting ready to die, but it could easily be another hardware problem such as RAM.



  • Yep… the (flash) disk died  :'(

    Taking the firewall out and putting on the bench, it was easy to see the boot sequence struggling with read errors.

    I booted into single user mode, fsck'd it - seemed ok - but then the next boot it was just a mess  :o

    So, I have a temporary solution to get it back in to service until I build a new unit.