Eugene Grosbein wrote:
I observe memory corruption while using freeraidus-2.2.4 with perl/DBI/ODBC/freetds. Memory corruption occur while rlm_perl runs embedded perl and lead to coredumps. That is, I added some checks to freeradius C code and see that before execution jumps to the perl, memory structures of C code are fine but they are damaged on exiting from the perl to C again.
*Which* C structures? Knowing that would help. Just saying "C structures" is unhelpful, because all of FreeRADIUS uses C structures, as does Perl.
Then coredump is imminent then.
Hmm... the rlm_perl changes from 2.2.0 to 2.2.4 are very small. Mainly adding mutex locks around the perl clone calls. Please run valgrind on the 2.2.4 code. e.g. $ valgrind radiusd -f If there are any errors with the Perl code, please post them here. Alan DeKok.