rlm_python - Unresponsive child
Hello Freeradius-users, I'm trying to use Freeradius 2.1.6 release with rlm_python (python 2.6.2) on FreeBSD. I use default radiusd_test.py bundled with rlm_python. All is fine when I start radius in debug mode with -X, however in normal forked mode next error appear: Error: WARNING: Unresponsive child for request 0, in module python component authenticate < few seconds later > Info: [python] Child is still stuck for request 0 Any ideas what can be wrong? How to debug this? And is rlm_python ok for commercial productional environment? What other problems I can face? Thanks. -- Mike Tkachuk
I'm trying to use Freeradius 2.1.6 release with rlm_python (python 2.6.2) on FreeBSD. I use default radiusd_test.py bundled with rlm_python. All is fine when I start radius in debug mode with -X, however in normal forked mode next error appear:
Error: WARNING: Unresponsive child for request 0, in module python component authenticate < few seconds later > Info: [python] Child is still stuck for request 0
Any ideas what can be wrong?
Permissions. Check if freeradius user has permissions to execute the script. I assume that you have checked that script actually works. Ivan Kalik Kalik Informatika ISP
Hello Ivan, Monday, June 22, 2009 12:20:38 PM, you wrote: IK> Permissions. Check if freeradius user has permissions to execute the IK> script. I assume that you have checked that script actually works. Thanks for the answer. I was testing under root user, so the permissions should not be a problem, but I checked that also - added
user = root group = wheel I see that instatination code in radiusd_test.py running ok: *** instantiate *** None But authenticate just hang.
Any other suggestions? -- Mike Tkachuk
IK> Permissions. Check if freeradius user has permissions to execute the IK> script. I assume that you have checked that script actually works.
Thanks for the answer. I was testing under root user, so the permissions should not be a problem, but I checked that also - added
user = root group = wheel I see that instatination code in radiusd_test.py running ok: *** instantiate *** None But authenticate just hang.
Any other suggestions?
There is no authenticate subroutine in radiusd_test.py. Ivan Kalik Kalik Informatika ISP
Hello Ivan, As I told - all working file in freeradius debug mode (with -X), I have problems with productional threads pool mode. Sure there is no 'authenticate' function but 'authorize', that function called while authentificate block executed: python { mod_instantiate = radiusd_test func_instantiate = instantiate mod_authenticate = radiusd_test func_authenticate = authorize mod_accounting = radiusd_test func_accounting = accounting mod_detach = radiusd_test func_detach = detach } authorize { files } authenticate { Auth-Type Python { python } } accounting { python } Monday, June 22, 2009 1:03:03 PM, you wrote:
IK> Permissions. Check if freeradius user has permissions to execute the IK> script. I assume that you have checked that script actually works.
Thanks for the answer. I was testing under root user, so the permissions should not be a problem, but I checked that also - added
user = root group = wheel I see that instatination code in radiusd_test.py running ok: *** instantiate *** None But authenticate just hang.
Any other suggestions?
IK> There is no authenticate subroutine in radiusd_test.py. IK> Ivan Kalik IK> Kalik Informatika ISP -- Mike Tkachuk
As I told - all working file in freeradius debug mode (with -X), I have problems with productional threads pool mode.
When things work with radiusd -X and don't under radius user problems are permissions, SE Linux or stuff like that. Ivan Kalik Kalik Informatika ISP
As I told - all working file in freeradius debug mode (with -X), I have problems with productional threads pool mode.
I see the same issue with rlm_perl and my perl code. Works fine in radiusd -X, or if perl is compiled to not use threads, but as soon as I compile perl for threading and start trying to use CLONE I get all sorts of issues with unresponsive children. When I used radclient to hammer the hell out of my server the messages appeared for 10-15 seconds or so, then went away. I theorised that radius was trying to hand off work to radius/perl threads that hadn't been fully instantiated yet. On the current live system (using an older version of FreeRadius - 2.0.3 - until we have another stable development version to move to) it sometimes shows up and just never goes away until radiusd is restarted. I never managed to nail down what the issue was. I did wonder if DBI or DBD::Mysql was doing something funky in a threaded environment and hanging on database access. You may be having similar issues? Dan
participants (3)
-
Ivan Kalik -
Meyers, Dan -
Mike Tkachuk