PL_sv_undef and PL_stack_max undefined - FreBSD 8.0,
Perl 5.8.9 or 5.10, FreeRADIUS 2.1.6
d.meyers at lancaster.ac.uk
Mon Nov 30 16:18:16 UTC 2009
Had a bit more of a poke. Same symptoms under FreeBSD 7.2 amd64. I am
now looking towards there being some kind of issue with the perl or
freeradius in ports/packages. Has anyone else seen this at all?
> -----Original Message-----
> From: owner-freebsd-questions at freebsd.org [mailto:owner-freebsd-
> questions at freebsd.org] On Behalf Of Meyers, Dan
> Sent: 30 November 2009 15:00
> To: freebsd-questions at freebsd.org
> Subject: PL_sv_undef and PL_stack_max undefined - FreBSD 8.0,Perl
> or 5.10, FreeRADIUS 2.1.6
> We've had a setup for a while where we have a FreeBSD server running
> FreeRADIUS 2.1.6 and using the rlm_perl module to examine a database
> do some fairly complex checking of the returned data before deciding
> whether to accept or reject the radius request. This works fine on
> FreeBSD 7.2 amd64 with Perl 5.8.9 and FreeRADIUS 2.1.6 (all compiled
> from source out of the same copy of the ports tree. Perl compiled
> without threading support as that causes issues with our database
> connections when under high load).
> We had need to reinstall one of the servers over the weekend (We went
> from i386 to amd64 a while back, and now we're periodically getting
> mysql [replicated across multiple servers, but with a ruby on rails
> running on and talking to/updating the mysql master] hanging on what
> should be very simple requests and causing our Ruby on Rails apps to
> die. We're going back to i386 to see if that resolves the issue, as
> rails code hasn't been changed so it shouldn't be that. As far as we
> tell, it is actually mysql that is hanging, not a lost connection from
> rails or similar).
> Anyway, as FreeBSD 8.0 is now out we decided to go with that. But now
> can't get radius to start with rlm_perl enabled. Our radius script
> (among other things) the 'Switch' perl module. On trying to run radius
> -X I get the following:
> Can't load
> '/usr/local/lib/perl5/5.8.9/mach/auto/Filter/Util/Call/Call.so' for
> module Filter::Util::Call:
> symbol "PL_stack_max" at /usr/local/lib/perl5/5.8.9/mach/DynaLoader.pm
> line 226.
> at /usr/local/lib/perl5/5.8.9/Switch.pm line 11
> and radius refuses to start.
> I've not got the perl Filter module installed, and installing it makes
> no difference. But this seems to be a minor symptom of a larger
> The freeradius provided example script doesn't use Switch, but does
> Data:Dumper. When I install a completely different server (a VM) with
> FreeBSD 8.0 and run up perl and FreeRADIUS using the example.pl
> script, I get much the same error, but for a slightly different
> Can't load
> for module Data::Dumper:
> /usr/local/lib/perl5/5.8.9/mach/auto/Data/Dumper/Dumper.so: Undefined
> symbol "PL_sv_undef" at /usr/local/lib/perl5/5.8.9/mach/XSLoader.pm
> at /usr/local/lib/perl5/5.8.9/mach/Data/Dumper.pm line 36
> I've tried commenting and uncommenting various modules in the script I
> want to run. Time::HiRes also causes a moan about PL_sv_undef.
> File::Basename seems to work OK. What's odd is that if I run up a test
> perl script that just does a 'use Switch;' and then has a switch
> statement in that prints out some text then it works absolutely fine
> from the command line. I have to admit to being a bit out of my depth
> here. I'm not sure if the issue is with freeradius/rlm_perl, perl
> itself, or what.
> As a last ditch test, I tried FreeBSD 7.2 i386 in a VM. I was very
> surprised when I got the same error, even though this server that is
> having issues was FreeBSD 7.2 (admittedly on amd64) and having no
> problems whatsoever. I am completely stumped. Why are these symbols
> undefined, and what do I need to do to get things working?
> Thanks in advance. Apologies for the wall of text.
More information about the freebsd-questions