Greetings,

I am running into a strange problem with the rlm_perl module.

I am using some Perl middleware to do additional processing on some custom vendor accounting attributes and log them to MS-SQL via UnixODBC, in addition to using rlm_unixodbc for logging the basic accounting attributes.

(As I'm sure you can imagine, I ran into a lot of problems with DB handle sharing and thread pools and DB slowness. But I have managed to mostly solve this by using the right combination of threads, maximum requests per server, # of Perl clones, etc. to make it work.)

The issue I have is that the RADIUS server will run for 1-2 days under a fairly moderate load, and then abruptly crash (apparently) with this:

Thu Aug  7 22:52:00 2008 : rlm_perl: Handling START record.
Thu Aug  7 22:52:00 2008 : rlm_perl: Processing record type 1
Thu Aug  7 22:52:00 2008 : rlm_perl: Handling START record.
Thu Aug  7 22:52:00 2008 : rlm_perl: Processing record type 1
Thu Aug  7 22:52:00 2008 : rlm_perl: Processing record type 1
Thu Aug  7 22:52:00 2008 : rlm_perl: Handling START record.
Thu Aug  7 22:52:00 2008 : rlm_perl: Processing record type 1
Thu Aug  7 22:52:00 2008 : rlm_perl: Handling START record.
Thu Aug  7 22:52:00 2008 : rlm_perl: Processing record type 1
Thu Aug 7 22:52:00 2008 : Error: Could not get @DynaLoader::dl_librefs for unloading.

The latter is a Perl error.

Now, DynaLoader::dl_librefs is a symbol that is loaded by the interpreter upon boot and is used in every clone invocation, so if the problem were simply that the module wasn't there, it would fail immediately. Instead, it happens once in a blue moon.

The RADIUS server then stops and must be manually restarted.

Any idea why?

Thanks much!

--
Alex Balashov
Evariste Systems
Web    : http://www.evaristesys.com/
Tel    : (+1) (678) 954-0670
Direct : (+1) (678) 954-0671
Mobile : (+1) (706) 338-8599
-
List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html

Reply via email to