Pfsense 1.2.3 RC2 captive portal problems



  • i am using Pfsense 1.2.3 RC2

    im using Raduis with captive portal

    i keep getting this error

    php: : WARNING: unlock() - Could not unlock lock

    then the portal page stops working and will not auth anyone

    but if i reboot the box then it starts working perfect for a few days untill i get that error

    any ideas? thanks  ???



  • I am seeing;

    Aug 20 05:29:58 php[36437]: /index.php: WARNING: unlock() - Could not unlock lock.
    Aug 19 17:28:12 php[624]: /index.php: WARNING: unlock() - Could not unlock lock.
    Aug 19 08:41:13 php[620]: /index.php: WARNING: unlock() - Could not unlock lock.
    Aug 19 08:41:13 php[624]: /index.php: WARNING: unlock() - Could not unlock lock.
    Aug 19 08:41:13 php: /index.php: WARNING: lock() - Could not acquire captiveportal lock!
    Aug 18 17:00:45 php[621]: /index.php: WARNING: unlock() - Could not unlock lock.
    Aug 18 16:06:24 php: : WARNING: unlock() - Could not unlock lock.

    Using radius auth (ack only) but everything seems to be functioning fine. I figured it was a normal error from an unauth'd host attempting access to something they shouldn't.

    I've searched for this error to no avail here in the forums, looks like its just us with this in our log…



  • Does this still come up frequently enough for either one of you that you can test changes and see if it has any impact?



  • @cmb:

    Does this still come up frequently enough for either one of you that you can test changes and see if it has any impact?

    Ive had to disable captive portal -that seemed to stop the error. I deployed this release before I should have apparently, downtime is a problem so I cant do much testing with this unit. I had several lock-ups resulting in a mid-night trip for a reboot over the weekend but cant be sure if this error was the culprit yet.

    Complete testing environment is up and ready today, Ill know more soon.



  • I have the exact same problem.  It happens every time either one of our Radius servers crashes or is rebooted.

    The Radius server crashes, or goes down/reboots, and the captive portal service hangs.

    I need to fix this problem as we cannot do without our captive portal and having to reboot our firewall every time one of our Radius servers goes down is disruptive to our business.

    Even a command-line fix that did not require a reboot would be extremely helpful as we could automate that through Nagios.

    Edit: Actually, to clarify, I don't know whether I'm getting the same "errors" the OP is getting as I am unsure of how to diagnose this issue, however the symptoms I have are the same.



  • when captive portal first starts to crash i get this bug under captive portal status

    Warning: file(/var/db/captiveportal.db): failed to open stream: No such file or directory in /usr/local/www/status_captiveportal.php on line 60 Warning: Invalid argument supplied for foreach() in /usr/local/www/status_captiveportal.php on line 61

    and i can get this to repet if you have anything for me to try  :'(

    thanks  :D



  • I've had this problem for a long, long time.  I wrote a script and put it in cron to delete the lock file every minute.  That pretty much solves my issue.  When it happens it locks everyone out.  Soon as I delete the file, it's OK for a few minutes.

    From what I understand it happens when too many users are accessing the CP at the same time, or maybe the same computer accessing the CP too many times at the same time.  Anyway, I just delete the lock file and all is good.



  • is there ever going to be a fix for this bug?
    i need pfsense to work with captive portal with about 500 users
    if pfsense cant do it are there any other Routers that can? ???



  • You can either a) write a script that deletes the /tmp/captiveportal.lock every 10 seconds.  or b) use m0n0wall.



  • #!/bin/sh
    while [ true ]; do
      while [ -f /tmp/captiveportal.lock ]; do
        echo "Deleting captiveportal.lock"
        rm /tmp/captiveportal.lock
        sleep 5
      done
      sleep 30
    done



  • @pk:

    You can either a) write a script that deletes the /tmp/captiveportal.lock every 10 seconds.  or b) use m0n0wall.

    That's the consequence of a bug in previous versions. The locking was replaced entirely in 1.2.3 with semaphores, which fixed many things, but appears to have created some new issues that we have a ticket open on and will be resolved. m0n0wall has locking issues as well, a similar locking replacement is being looked at for it.



  • @900mhzdude:

    when captive portal first starts to crash i get this bug under captive portal status

    Warning: file(/var/db/captiveportal.db): failed to open stream: No such file or directory in /usr/local/www/status_captiveportal.php on line 60 Warning: Invalid argument supplied for foreach() in /usr/local/www/status_captiveportal.php on line 61

    and i can get this to repet if you have anything for me to try  :'(

    thanks  :D

    How exactly can you repeat it?



  • have about 5 PC's try and re-auth at the same time

    or

    have a PC auth with radius then remove MAC from Radius then let the portal page come up
    put MAC back in Radius and go to a website if you do this in under 1min you will get the error

    or

    just run the Pfsense on a live WISP network and you will get the error within a few days  >:(

    hope that helps please let me know if theres anything more i can do to help :)



  • Can you try the latest snapshots? We made a couple changes in the locking. I can't replicate problems, so your help in testing would be much appreciated.



  • Made some more changes..  Please test the next snapshot that should be posted in about 3-4 hours.  Thanks!



  • @cmb:

    @900mhzdude:

    when captive portal first starts to crash i get this bug under captive portal status

    Warning: file(/var/db/captiveportal.db): failed to open stream: No such file or directory in /usr/local/www/status_captiveportal.php on line 60 Warning: Invalid argument supplied for foreach() in /usr/local/www/status_captiveportal.php on line 61

    and i can get this to repet if you have anything for me to try  :'(

    thanks  :D

    How exactly can you repeat it?

    I just fixed this.  For some brain-dead reason the captive portal enable function was zapping the captiveportal.db and it would not get recreated until the captive portal prune routine was run (every 1 minute).  This would surely cause some issues.



  • downloading it now Thanks!  ;D



  • using build pfSense-1.2.3-20090921-0655.iso.gz on a live cd

    is working grate! THANK YOU!  ;D

    i am not able to get a error so far but will be doing some hard tests on it in the next few days
    ill keep you updated



  • @900mhzdude:

    using build pfSense-1.2.3-20090921-0655.iso.gz on a live cd

    is working grate! THANK YOU!   ;D

    i am not able to get a error so far but will be doing some hard tests on it in the next few days
    ill keep you updated

    Thanks, this is the only thing we are waiting on before releasing RC3.



  • Can we get an update to the problem?  Is the CP still working correctly?



  • so far yes but we only have 1 PC on the pfsense box at this time

    we are having a hard time installing PFsense on our server box

    supermicro MBD-PDSBM-LN2+-0 with a intel 2.80GHz E6300

    but this happens with all Pfsense builds so nothing to do with 1.2.3

    i would say go ahead and release RC3 do to i can not make CP stop working

    i was going to make sure by putting it live but we are having a hard time with hardware
    sorry ;(



  • OK thanks.

    Please start a thread concerning your hardware issues and email me a link.  Thanks. sullrich@gmail.com



  • here is the link…i sent it to your e-mail also

    http://forum.pfsense.org/index.php/topic,19335.msg99576.html#msg99576



  • I installed build 09-22 yesterday, and deployed it on my WISP this morning.  I still see the lock file in /tmp, but I don't see anyone having problems.  I used to see lock errors in the logs, but nothing today.  Seems to be working well.  I currently have about 50 users using the system.



  • what do you mean you still see the lock file in /tmp?

    do you mean you see it in the tmp folder but is not doing any harm…or being a pain?

    thanks



  • The lock file will always be there. The locking mechanism was changed again a week or two ago because of a different problem that semaphores caused, due to either PHP or FreeBSD bugs or a combination of the two. The lock file never gets removed, it's either locked or not locked with flock(), its existence has nothing to do with the lock status.

    It appears to be good now, RC3 is coming this weekend.



  • ok new router up and running with pfsense 1.2.3 RC3 but now…..

    is there any way to do CAPTIVE Portal on multiple vlan's???  :'(

    we have 19 vlan's and we would like to set it up so that when
    someone dose not pay there bill radius will forward them to
    a captive portal VLan or something like that.....any ideas?

    thanks  :)



  • @900mhzdude:

    is there any way to do CAPTIVE Portal on multiple vlan's???  :'(

    do it upstream of the VLAN router.



  • @900mhzdude:

    what do you mean you still see the lock file in /tmp?
    do you mean you see it in the tmp folder but is not doing any harm…or being a pain?

    Sorry, been busy.  Since upgrading to 9-22 everything has been good.  No reports of login problems, no slowdowns, and I can always get to the web admin.  Looks like it's fixed.

    On a side note my Ubnt PS2 just got a fix for PPPoE.  Connected right up no problem.  So both my PPPoE customers and my CP customers are happy… finally! ;-)


Log in to reply