S.M.A.R.T. Status Widget Crashes pfSense 2.3 on Hyper-v



  • The upgrade from 2.2.6 to 2.3 went smoothly on my pfSense Hyper-v appliance, but then I started trying the widgets on the dashboard, and suddenly I get this error:

    Warning: fopen(/tmp/config.lock): failed to open stream: Device not configured in /etc/inc/util.inc on line 158 Call Stack: 0.0000 228176 1\. {main}() /usr/local/www/index.php:0 0.0001 233488 2\. require_once('/usr/local/www/guiconfig.inc') /usr/local/www/index.php:73 0.0003 254344 3\. require_once('/etc/inc/authgui.inc') /usr/local/www/guiconfig.inc:79 0.0003 254928 4\. include_once('/etc/inc/auth.inc') /etc/inc/authgui.inc:55 0.0003 255376 5\. require_once('/etc/inc/config.gui.inc') /etc/inc/auth.inc:63 0.0010 283848 6\. parse_config() /etc/inc/config.gui.inc:92 0.0010 284152 7\. lock() /etc/inc/config.lib.inc:116 0.0011 284520 8\. fopen() /etc/inc/util.inc:158 Warning: flock() expects parameter 1 to be resource, null given in /etc/inc/util.inc on line 197 Call Stack: 0.0000 228176 1\. {main}() /usr/local/www/index.php:0 0.0001 233488 2\. require_once('/usr/local/www/guiconfig.inc') /usr/local/www/index.php:73 0.0003 254344 3\. require_once('/etc/inc/authgui.inc') /usr/local/www/guiconfig.inc:79 0.0003 254928 4\. include_once('/etc/inc/auth.inc') /etc/inc/authgui.inc:55 0.0003 255376 5\. require_once('/etc/inc/config.gui.inc') /etc/inc/auth.inc:63 0.0010 283848 6\. parse_config() /etc/inc/config.gui.inc:92 0.0323 897280 7\. unlock() /etc/inc/config.lib.inc:183 0.0323 897376 8\. flock() /etc/inc/util.inc:197 Warning: fclose() expects parameter 1 to be resource, null given in /etc/inc/util.inc on line 198 Call Stack: 0.0000 228176 1\. {main}() /usr/local/www/index.php:0 0.0001 233488 2\. require_once('/usr/local/www/guiconfig.inc') /usr/local/www/index.php:73 0.0003 254344 3\. require_once('/etc/inc/authgui.inc') /usr/local/www/guiconfig.inc:79 0.0003 254928 4\. include_once('/etc/inc/auth.inc') /etc/inc/authgui.inc:55 0.0003 255376 5\. require_once('/etc/inc/config.gui.inc') /etc/inc/auth.inc:63 0.0010 283848 6\. parse_config() /etc/inc/config.gui.inc:92 0.0323 897280 7\. unlock() /etc/inc/config.lib.inc:183 0.0615 897328 8\. fclose() /etc/inc/util.inc:198 Warning: fopen(/tmp/config.lock): failed to open stream: Device not configured in /etc/inc/util.inc on line 158 Call Stack: 0.0000 228176 1\. {main}() /usr/local/www/index.php:0 0.0001 233488 2\. require_once('/usr/local/www/guiconfig.inc') /usr/local/www/index.php:73 0.0003 254344 3\. require_once('/etc/inc/authgui.inc') /usr/local/www/guiconfig.inc:79 0.0003 254928 4\. include_once('/etc/inc/auth.inc') /etc/inc/authgui.inc:55 0.0914 898224 5\. get_configured_ip_addresses() /etc/inc/auth.inc:201 0.0915 898856 6\. require_once('/etc/inc/interfaces.inc') /etc/inc/util.inc:1399 0.0915 899232 7\. require_once('/etc/inc/gwlb.inc') /etc/inc/interfaces.inc:61 0.0915 899992 8\. require_once('/etc/inc/config.inc') /etc/inc/gwlb.inc:54 0.0916 900888 9\. parse_config() /etc/inc/config.inc:218 0.0916 900984 10\. lock() /etc/inc/config.lib.inc:116 0.0916 901216 11\. fopen() /etc/inc/util.inc:158 Warning: flock() expects parameter 1 to be resource, null given in /etc/inc/util.inc on line 197 Call Stack: 0.0000 228176 1\. {main}() /usr/local/www/index.php:0 0.0001 233488 2\. require_once('/usr/local/www/guiconfig.inc') /usr/local/www/index.php:73 0.0003 254344 3\. require_once('/etc/inc/authgui.inc') /usr/local/www/guiconfig.inc:79 0.0003 254928 4\. include_once('/etc/inc/auth.inc') /etc/inc/authgui.inc:55 0.0914 898224 5\. get_configured_ip_addresses() /etc/inc/auth.inc:201 0.0915 898856 6\. require_once('/etc/inc/interfaces.inc') /etc/inc/util.inc:1399 0.0915 899232 7\. require_once('/etc/inc/gwlb.inc') /etc/inc/interfaces.inc:61 0.0915 899992 8\. require_once('/etc/inc/config.inc') /etc/inc/gwlb.inc:54 0.0916 900888 9\. parse_config() /etc/inc/config.inc:218 0.1308 1513616 10\. unlock() /etc/inc/config.lib.inc:183 0.1308 1513712 11\. flock() /etc/inc/util.inc:197 Warning: fclose() expects parameter 1 to be resource, null given in /etc/inc/util.inc on line 198 Call Stack: 0.0000 228176 1\. {main}() /usr/local/www/index.php:0 0.0001 233488 2\. require_once('/usr/local/www/guiconfig.inc') /usr/local/www/index.php:73 0.0003 254344 3\. require_once('/etc/inc/authgui.inc') /usr/local/www/guiconfig.inc:79 0.0003 254928 4\. include_once('/etc/inc/auth.inc') /etc/inc/authgui.inc:55 0.0914 898224 5\. get_configured_ip_addresses() /etc/inc/auth.inc:201 0.0915 898856 6\. require_once('/etc/inc/interfaces.inc') /etc/inc/util.inc:1399 0.0915 899232 7\. require_once('/etc/inc/gwlb.inc') /etc/inc/interfaces.inc:61 0.0915 899992 8\. require_once('/etc/inc/config.inc') /etc/inc/gwlb.inc:54 0.0916 900888 9\. parse_config() /etc/inc/config.inc:218 0.1308 1513616 10\. unlock() /etc/inc/config.lib.inc:183 0.1647 1513664 11\. fclose() /etc/inc/util.inc:198
    

    and the system restarted, after that each login attempt on the browser resulted in a reboot.
    To search for the cause I've created a new VM and did a fresh install of pfsense 2.3, and was able to replicate this behavior by enabling the S.M.A.R.T. Status widget, after enabling this widget it is no longer possible to logon to system in the browser because it reboots on every attempt.

    My host system is a Windows 2012R2 server the pfSense vm is a generation 1 vm, and vhd is on a raid 1 ssd.


  • Rebel Alliance Developer Netgate

    That error suggests the disk disappeared or was disconnected from the OS. Apparently HyperV does not like SMART being queried from a VM. Seems like a bug in HyperV.

    You can't get SMART data for a virtual disk, and if you expect to see SMART data from the host disk that's highly unlikely. What you're trying serves no purpose inside a VM…

    If it's a widespread hyperv issue perhaps we could detect that and deny the action but this is the first I've seen anyone hit that.



  • Yes I know you can´t get SMART data for a virtual disk, I was just randomly trying widgets, and stumble across this error.

    I only reported because it starts a chain of events that prevents you from accessing the Web UI.

    I think that since it reboots the machine it's severe enough to try an see if there is something that could be done to prevent this from happening to others accidently.


  • Rebel Alliance Developer Netgate