Bootup: Fatal Error Uncaught Error Stack trace
Hi, yesterday I rebooted my pfSense 2.4.4.p2 bare metal minipc install, and I wasn't able to reconnect to it afterwards. Towards the end of yesterday's troubleshooting, I definitely gave it a couple hard shutdowns. Today,I connected KB & monitor to it, and am seeing:
Fatal Error: Uncaught Error: Call to undefined function gettext() in /etc/line/certs.inc: 46
Stack trace: thrown in /tec/inc/certs.inc on line 46
... followed by a ton of PHP errors. Seems like no network interfaces are up, and the console menu takes my input but won't execute any commands.
Any thoughts what to try to fix this? Thanks in advance!
The fastest and easiest fix would be to reinstall.
If it was up and running OK before the reboot, it could be a filesystem or disk issue.
If you upgraded it and it stopped just after, it could be an incomplete or otherwise failed upgrade.
Either way, reinstalling is the safest path forward.
I reinstalled, restored the config and am back in service.
That box is on UPS, connected via USB and running NUT besides. I don't feel like there was a power surge that could have affected the disk. I am also using ZFS because I have read that it's more resilient to rough treatment.
I just ran a short SMART test and it completed without error. So... gremlins or cosmic rays?
Difficult to say, not enough information.
ZFS is more resilient, but it can still have issues in the right (wrong?) circumstances.
SMART can be helpful but a pass from it doesn't always mean the drive is OK. It's prone to false negatives. (You can trust errors it shows, but error-free doesn't necessarily mean the disk is good)
I create ZFS snapshots after upgrades as have plenty of space on the SSD.
I understand there isn't enough information but am curious what your thoughts on this would be:
The above errors are PHP so would be in the /etc/rc.bootup stage so FreeBSD would be up and ZFS mounted, so does it make sense to have the start of rc.bootup create say a 3 second console prompt to drop straight to a FreeBSD shell to access zfs snapshots or does that open a security hole.
You can use the boot menu to select single user mode if you need to make those kinds of changes.
The errors you saw were PHP errors but the problem is that it couldn't find
gettext()which is provided by a PHP module. If that is missing, it could be from several causes:
- The file is missing or corrupt, likely due to a filesystem or disk issue
- The package containing that module is not installed, or it is not the expected version, likely due to an incomplete or failed upgrade