Fatal Error during Upgrade from 2.0-RC1 to latest snapshot 2.0-RC2<may 18="" built=""></may>
-
Hi,
I've just upgraded from pfSense-2.0-RC1-i386-20110226-1530.iso
to latest snapshot (pfSense-2.0-RC1-i386-20110518-2103.iso) using
the GUI.Everything goes perfect until it reboots.
Once it reboots, a FATAL ERROR is generated just after "Updating Configuration",
and the boot process terminates, leaving the node without network access.The error given is:
Updating Configuration …
Fatal Error: Cannot use string offset as an array in /etc/inc/config.lib.inc xxx (line) 384.function convert_config() { global $config, $g; $now = date("H:i:s"); log_error("Start Configuration upgrade at $now, set execution timeout to 15 minutes"); //ini_set("max_execution_time", "900"); /* special case upgrades */ /* fix every minute crontab bogons entry */ $cron_item_count = count($config['cron']['item']); for($x=0; $x<$cron_item_count; $x++) { /*384 -->*/ if(stristr($config['cron']['item'][$x]['command'], "rc.update_bogons.sh")) { if($config['cron']['item'][$x]['hour'] == "*" ) { $config['cron']['item'][$x]['hour'] = "3"; write_config("Updated bogon update frequency to 3am"); log_error("Updated bogon update frequency to 3am"); } } } ...
I managed to overcome this error by commenting out the code related with above 'for' loop …
not a suitable solution, I agree ... soas Jim P. commented in http://redmine.pfsense.org/issues/1542
That error would point to your config being empty or unparseable. Look farther back in the boot log for more detail. This would probably work better as a forum thread until it's confirmed.
UPDATE:
After this error is given, the only thing that appears is the normal console,
where it shows, that all network interfaces are left unconfigured. So only way
to access is via console.c.u.
-
I just upgraded a couple VMs and they had no problems rebooting multiple times.
There must be something in your config that is causing it to fail the parser. From the console, look at /conf/config.xml and see what is inside.
-
I've looked into "/conf/config.xml",
copied over to computer and checked that it is a valid XML.
NOTE: my config.xml don't have any cron item... <cron>...</cron>
As I mentioned before:
If I comment the "for loop" the boot process continues on, without any issue. And everything is setup as it should be. Network, Ipsec, OpenVpn, DHCPServer, ca/certs …
If I don't .. then during the boot process the console shows:Updating Configuration ... Fatal error: Cannot use string offset as an array in /etc/inc/config.lib.inc on line 384 Starting CRON... done. Bootup complete Freexxxx xxx normal Welcome message Options xxx Prompt ...
-
There should be at least 4+ cron jobs in there though by default. They should not be missing.
-
Weird no idea how those cron entries could disappear.
I will do a clean install and set it up from scratch.
Thanks !!!