Crash Report



  • I keep getting this crash report after installing 2.4. The time zone is set to America/Vancouver and dhcp6 is enabled.

    Crash report begins.  Anonymous machine information:

    amd64
    11.0-RELEASE-p1
    FreeBSD 11.0-RELEASE-p1 #116 8e8562b(RELENG_2_4): Fri Oct  7 16:37:00 CDT 2016    root@buildbot2.netgate.com:/builder/ce/tmp/obj/builder/ce/tmp/FreeBSD-src/sys/pfSense

    Crash report details:

    PHP Errors:
    [12-Oct-2016 13:16:14 America/Vancouver] PHP Warning:  inet_pton(): Unrecognized address  in /etc/inc/util.inc on line 1234
    [12-Oct-2016 13:16:14 America/Vancouver] PHP Stack trace:
    [12-Oct-2016 13:16:14 America/Vancouver] PHP  1. {main}() /usr/local/www/services_dhcpv6.php:0
    [12-Oct-2016 13:16:14 America/Vancouver] PHP  2. is_inrange_v6() /usr/local/www/services_dhcpv6.php:341
    [12-Oct-2016 13:16:14 America/Vancouver] PHP  3. inet_pton() /etc/inc/util.inc:1234
    [12-Oct-2016 13:16:14 America/Vancouver] PHP Warning:  inet_pton(): Unrecognized address  in /etc/inc/util.inc on line 1234
    [12-Oct-2016 13:16:14 America/Vancouver] PHP Stack trace:
    [12-Oct-2016 13:16:14 America/Vancouver] PHP  1. {main}() /usr/local/www/services_dhcpv6.php:0
    [12-Oct-2016 13:16:14 America/Vancouver] PHP  2. is_inrange_v6() /usr/local/www/services_dhcpv6.php:342
    [12-Oct-2016 13:16:14 America/Vancouver] PHP  3. inet_pton() /etc/inc/util.inc:1234

    Filename: /var/crash/minfree
    2048



  • Do you have and IPv6 VIP(s) on that interface also?
    It looks like if you input an invalid IPv6 address in the range from or to, the validation checks will correctly tell you that the address is invalid, but the code will also check to see if any VIPs fal in the range (and that is an invalid range anyway - need to fix the range from-to input first before bothering to check if any VIPs fall in the range)

    This PR controls the sequence of validation better: https://github.com/pfsense/pfsense/pull/3190

    This PR makes is_inrange_v6() more robust so it will handle anything that calls it with invalid IPv6 addresses, without causing inet_pton() warnings: https://github.com/pfsense/pfsense/pull/3189

    Applying either PR should correct the warnings. Applying both is even better :)



  • @phil.davis:

    Do you have and IPv6 VIP(s) on that interface also?
    It looks like if you input an invalid IPv6 address in the range from or to, the validation checks will correctly tell you that the address is invalid, but the code will also check to see if any VIPs fal in the range (and that is an invalid range anyway - need to fix the range from-to input first before bothering to check if any VIPs fall in the range)

    This PR controls the sequence of validation better: https://github.com/pfsense/pfsense/pull/3190

    This PR makes is_inrange_v6() more robust so it will handle anything that calls it with invalid IPv6 addresses, without causing inet_pton() warnings: https://github.com/pfsense/pfsense/pull/3189

    Applying either PR should correct the warnings. Applying both is even better :)

    There are no VIPs on the system. I can't recall exactly at what point the crash occurred, whether it was before or after "wait for RA" was enabled. I checked the log and the messages are gone. I think it was before, because the crash only seems to happen once (the first time) the system reboots after installation. If you need more info, I could reinstall it again.



  • The code fixups that I could see have been merged into master for 2.4. The warnings would happen if you put invalid stuff into Range "From" or "To" and press Save. e.g. put "1000" instead of "::1000". So try that on any system with the latest 2.4-DEVELOPMENT snapshot.



  • @phil.davis:

    The code fixups that I could see have been merged into master for 2.4. The warnings would happen if you put invalid stuff into Range "From" or "To" and press Save. e.g. put "1000" instead of "::1000". So try that on any system with the latest 2.4-DEVELOPMENT snapshot.

    Thanks for the info on the changes.

    I never made any changes to the ipv6 range values. The default values for are ::1000 and ::2000, which are what I'm using.