Fresh installed pfsense 2.2 - captive portal crashed.
-
Does it work fine? That crash report isn't actually a crash, and might be cosmetic-only. Could you send me a backup of your config that's doing that?
-
Can you try instead of sync vouchers, install a clean 2.2 and restore only captive portal vouchers under Diagnostics-> Backup/restore -> Restore area: ?
Imported only the captive portal and vouchers on a clean install. Same problem.
-
i found out, if i install the vhost package in combination with the captive portal, the error occurs.
-
i found out, if i install the vhost package in combination with the captive portal, the error occurs.
Ok, now I get it.
[29-Jan-2015 12:25:02 Europe/Berlin] PHP Strict Standards: Non-static method PEAR::isError() should not be called statically in /etc/inc/captiveportal.inc on line 2458
The pfSense 2.2 file version of '/etc/inc/captiveportal.inc' has less then 2270 lines (i added some personnal stuff, so its even less).
The package 'vhost' is "messing around" with '/etc/inc/captiveportal.inc' ?!? -
The pfSense 2.2 file version of '/etc/inc/captiveportal.inc' has less then 2270 lines (i added some personnal stuff, so its even less).
The package 'vhost' is "messing around" with '/etc/inc/captiveportal.inc' ?!?Indeed, those line numbers are telling - that's obviously a non-default captiveportal.inc as the stock one only has 2241 lines. That package doesn't touch anything to do with captive portal, and I can't think of any package at all that touches captiveportal.inc (and some grepping of the packages repo doesn't find anything).
OP's replaced or otherwise modified captiveportal.inc and that's the real source of the issue.
-
Hi,
I encountered a similar problem in a new installation of pfSense 2.2.2 but it seems that the captive portal works the same, following the report of the error that I proceeded to send
Crash report begins. Anonymous machine information: i386 10.1-RELEASE-p9 FreeBSD 10.1-RELEASE-p9 #0 57b23e7(releng/10.1)-dirty: Mon Apr 13 20:33:39 CDT 2015 root@pfs22-i386-builder:/usr/obj.i386/usr/pfSensesrc/src/sys/pfSense_SMP.10 Crash report details: PHP Errors: [22-Apr-2015 08:59:37 Europe/Rome] PHP Strict Standards: Non-static method PEAR::isError() should not be called statically in /etc/inc/captiveportal.inc on line 2216 [22-Apr-2015 08:59:43 Europe/Rome] PHP Strict Standards: Non-static method PEAR::isError() should not be called statically in /etc/inc/captiveportal.inc on line 2229
-
Check for squid3 – the squid3 package modifies captiveportal.inc in a particularly dangerous way, and it could have corrupted the file.
-
squid3 package is not installed, the only additional packages installed are freeradius2, syslog-ng and vhosts.
They are used for authentication and user registration via SMS with an application hosted in a virtualhost on vHosts. syslog-ng is used to log the Internet traffic directly to local disk in /var/syslog-ng/default.log with the ability to rotate -
Anyway, the proof is: your /etc/inc/captiveportal.inc has been modified by 'something'.
A "clean, from the selves" pfSEnse install won't do that. Auto-modifying code is bad …. really bad.Check your packages, find the guilty one, and remove it.
-
I removed the three installed packages ( freeradius2 , syslog-ng and vHosts ) and the error is gone.
Then I installed the packages one at a time and restarted pfSense, after I installed the package vHosts (v. 0.7.5) the error reappeared.pfSense has detected a crash report or programming bug. Click here for more information. ... Crash report details: PHP Errors: [24-Apr-2015 16:21:22 Europe/Rome] PHP Strict Standards: Non-static method PEAR::isError() should not be called statically in /etc/inc/captiveportal.inc on line 2216 [24-Apr-2015 16:21:28 Europe/Rome] PHP Strict Standards: Non-static method PEAR::isError() should not be called statically in /etc/inc/captiveportal.inc on line 2229
Follow the lines of code in the file captiveportal.inc ( from 2216 to 2236 ) where the error occurs
2216 if (PEAR::isError($racct->start())) { $retvalue['acct_val'] = 1; $retvalue['error'] = $racct->getMessage(); // If we encounter an error immediately stop this function and go back $racct->close(); return $retvalue; } // Send request $result = $racct->send(); // Evaluation of the response // 5 -> Accounting-Response // See RFC2866 for this. 2229 if (PEAR::isError($result)) { $retvalue['acct_val'] = 1; $retvalue['error'] = $result->getMessage(); } else if ($result === true) { $retvalue['acct_val'] = 5 ; } else { $retvalue['acct_val'] = 1 ; }
I think the package VHosts ver. 0.7.5 must be updated to work with the new version of PHP 5.5.23