Re: rlm_perl segfault
I've applied the patch you provided and freeradius starts up without issue now. Thanks for your help it's much appreciated. On Tue, 2006-03-14 at 12:04 +0200, Boian Jordanov wrote: > On Tuesday 14 March 2006 02:08, Grant Zanetti wrote: > > On Mon, 2006-03-13 at 11:48 +0200, Boian Jordanov wrote: > > > On Friday 10 March 2006 00:39, Grant Zanetti wrote: > > > > In addition to this I have done a manual compile (non-package) and have > > > > a better back trace perhaps: > > > > > > Which version of libperl ? > > > > libperl5.8 (5.8.8-2). libperl is package installed. Freeradius is now > > manually compiled. > > > > Apply this patch to freeradius-1.1.0 rlm_perl > > > - > > List info/subscribe/unsubscribe? See > > http://www.freeradius.org/list/users.html > > - > List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Re: rlm_perl segfault
On Tuesday 14 March 2006 02:08, Grant Zanetti wrote: > On Mon, 2006-03-13 at 11:48 +0200, Boian Jordanov wrote: > > On Friday 10 March 2006 00:39, Grant Zanetti wrote: > > > In addition to this I have done a manual compile (non-package) and have > > > a better back trace perhaps: > > > > Which version of libperl ? > > libperl5.8 (5.8.8-2). libperl is package installed. Freeradius is now > manually compiled. > Apply this patch to freeradius-1.1.0 rlm_perl > - > List info/subscribe/unsubscribe? See > http://www.freeradius.org/list/users.html -- Best Regards, Boian Jordanov SNE Orbitel - Next Generation Telecom tel. +359 2 4004 723 tel. +359 2 4004 002 --- rlm_perl.c.orig 2006-03-14 12:03:05.0 +0200 +++ rlm_perl.c 2006-03-14 12:03:17.0 +0200 @@ -778,7 +778,7 @@ } #ifdef USE_ITHREADS - inst->perl = perl_clone(interp ,CLONEf_KEEP_PTR_TABLE); + inst->perl = interp; { dTHXa(inst->perl); } - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Re: rlm_perl segfault
On Mon, 2006-03-13 at 11:48 +0200, Boian Jordanov wrote: > On Friday 10 March 2006 00:39, Grant Zanetti wrote: > > In addition to this I have done a manual compile (non-package) and have > > a better back trace perhaps: > > Which version of libperl ? > > libperl5.8 (5.8.8-2). libperl is package installed. Freeradius is now manually compiled. - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Re: rlm_perl segfault
On Friday 10 March 2006 00:39, Grant Zanetti wrote: > In addition to this I have done a manual compile (non-package) and have > a better back trace perhaps: Which version of libperl ? -- Best Regards, Boian Jordanov SNE Orbitel - Next Generation Telecom tel. +359 2 4004 723 tel. +359 2 4004 002 - List info/subscribe/unsubscribe? See http://www.freeradius.org/list/users.html
Re: rlm_perl segfault
In addition to this I have done a manual compile (non-package) and have a better back trace perhaps: Program received signal SIGSEGV, Segmentation fault. [Switching to Thread -1211832640 (LWP 6331)] 0xb7a74ca2 in Perl_hv_clear_placeholders () from /usr/lib/libperl.so.5.8 (gdb) bt #0 0xb7a74ca2 in Perl_hv_clear_placeholders () from /usr/lib/libperl.so.5.8 #1 0xb7a75369 in Perl_hv_delayfree_ent () from /usr/lib/libperl.so.5.8 #2 0xb7a762cc in Perl_hv_fetch () from /usr/lib/libperl.so.5.8 #3 0xb7a217ba in Perl_gv_fetchpv () from /usr/lib/libperl.so.5.8 #4 0xb7a1e14a in Perl_my_failure_exit () from /usr/lib/libperl.so.5.8 #5 0xb7a2097d in perl_parse () from /usr/lib/libperl.so.5.8 #6 0xb7b31ec5 in perl_instantiate (conf=0x80675f0, instance=0x0) at rlm_perl.c:803 #7 0x080557c5 in find_module_instance (instname=0x806c268 "ipalloc") at modules.c:358 #8 0x0805701a in do_compile_modsingle (component=3, ci=0x806c248, filename=0x8062274 "radiusd.conf", grouptype=0, modname=0xbfccda84) at modcall.c:1005 #9 0x08055eef in setup_modules () at modules.c:570 #10 0x0804cc05 in main (argc=2, argv=0xbfcced84) at radiusd.c:960 USE_ITHREADS is defined so it's using cloned perl instances. On Wed, 2006-03-08 at 11:20 +0200, Boian Jordanov wrote: > Can you check which version of libperl you are using ? I think on Debian it > was separate package ? Also please can you try to run freeradius with > example.pl which is included in freeradius. > > On Wednesday 08 March 2006 05:12, Grant Zanetti wrote: > > I've just tried to get the rlm_perl module working. > > > > I'm running debian 3.1 with perl 5.8.8. I've tried installing the > > prebuilt debian packages as well as from source with "dpkg-buildpackage > > -rfakeroot -uc -b" > > > > However after loading the module freeradius segfaults. > > > > Freeradius config: > > modules { > > perl ipalloc { > > module = /etc/freeradius/dynip.pl > > func_accounting = accounting > > func_post_auth = post_auth > > } > > } > > > > post-auth { > > ipalloc > > } > > > > When running freeradius I get > > > > traffic:/etc/freeradius# freeradius -X > > Starting - reading configuration files ... > > reread_config: reading radiusd.conf > > Config: including file: /etc/freeradius/proxy.conf > > Config: including file: /etc/freeradius/clients.conf > > Config: including file: /etc/freeradius/snmp.conf > > Config: including file: /etc/freeradius/eap.conf > > Config: including file: /etc/freeradius/sql.conf > > main: prefix = "/usr" > > main: localstatedir = "/var" > > main: logdir = "/var/log/freeradius" > > main: libdir = "/usr/lib/freeradius" > > main: radacctdir = "/var/log/freeradius/radacct" > > main: hostname_lookups = no > > main: max_request_time = 30 > > main: cleanup_delay = 5 > > main: max_requests = 1024 > > main: delete_blocked_requests = 0 > > main: port = 0 > > main: allow_core_dumps = no > > main: log_stripped_names = no > > main: log_file = "/var/log/freeradius/radius.log" > > main: log_auth = no > > main: log_auth_badpass = no > > main: log_auth_goodpass = no > > main: pidfile = "/var/run/freeradius/freeradius.pid" > > main: user = "freerad" > > main: group = "freerad" > > main: usercollide = no > > main: lower_user = "no" > > main: lower_pass = "no" > > main: nospace_user = "no" > > main: nospace_pass = "no" > > main: checkrad = "/usr/sbin/checkrad" > > main: proxy_requests = yes > > proxy: retry_delay = 5 > > proxy: retry_count = 3 > > proxy: synchronous = no > > proxy: default_fallback = yes > > proxy: dead_time = 120 > > proxy: post_proxy_authorize = no > > proxy: wake_all_if_all_dead = no > > security: max_attributes = 200 > > security: reject_delay = 1 > > security: status_server = no > > main: debug_level = 0 > > read_config_files: reading dictionary > > read_config_files: reading naslist > > Using deprecated naslist file. Support for this will go away soon. > > read_config_files: reading clients > > read_config_files: reading realms > > radiusd: entering modules setup > > Module: Library search path is /usr/lib/freeradius > > Module: Loaded exec > > exec: wait = yes > > exec: program = "(null)" > > exec: input_pairs = "request" > > exec: output_pairs = "(null)" > > exec: packet_type = "(null)" > > rlm_exec: Wait=yes but no output defined. Did you mean output=none? > > Module: Instantiated exec (exec) > > Module: Loaded expr > > Module: Instantiated expr (expr) > > Module: Loaded PAP > > pap: encryption_scheme = "crypt" > > Module: Instantiated pap (pap) > > Module: Loaded CHAP > > Module: Instantiated chap (chap) > > Module: Loaded MS-CHAP > > mschap: use_mppe = yes > > mschap: require_encryption = no > > mschap: require_strong = no > > mschap: with_ntdoma
Re: rlm_perl segfault
I'm running libperl5.8 (5.8.8-2) with perl (5.8.8-2) Using example.pl yields the exact same results. In fact using a script that doesn't exist segfaults in the same manner. It's definitely segfaulting before it begins parsing the perl. On Wed, 2006-03-08 at 11:20 +0200, Boian Jordanov wrote: > Can you check which version of libperl you are using ? I think on Debian it > was separate package ? Also please can you try to run freeradius with > example.pl which is included in freeradius. > > On Wednesday 08 March 2006 05:12, Grant Zanetti wrote: > > I've just tried to get the rlm_perl module working. > > > > I'm running debian 3.1 with perl 5.8.8. I've tried installing the > > prebuilt debian packages as well as from source with "dpkg-buildpackage > > -rfakeroot -uc -b" > > > > However after loading the module freeradius segfaults. > > > > Freeradius config: > > modules { > > perl ipalloc { > > module = /etc/freeradius/dynip.pl > > func_accounting = accounting > > func_post_auth = post_auth > > } > > } > > > > post-auth { > > ipalloc > > } > > > > When running freeradius I get > > > > traffic:/etc/freeradius# freeradius -X > > Starting - reading configuration files ... > > reread_config: reading radiusd.conf > > Config: including file: /etc/freeradius/proxy.conf > > Config: including file: /etc/freeradius/clients.conf > > Config: including file: /etc/freeradius/snmp.conf > > Config: including file: /etc/freeradius/eap.conf > > Config: including file: /etc/freeradius/sql.conf > > main: prefix = "/usr" > > main: localstatedir = "/var" > > main: logdir = "/var/log/freeradius" > > main: libdir = "/usr/lib/freeradius" > > main: radacctdir = "/var/log/freeradius/radacct" > > main: hostname_lookups = no > > main: max_request_time = 30 > > main: cleanup_delay = 5 > > main: max_requests = 1024 > > main: delete_blocked_requests = 0 > > main: port = 0 > > main: allow_core_dumps = no > > main: log_stripped_names = no > > main: log_file = "/var/log/freeradius/radius.log" > > main: log_auth = no > > main: log_auth_badpass = no > > main: log_auth_goodpass = no > > main: pidfile = "/var/run/freeradius/freeradius.pid" > > main: user = "freerad" > > main: group = "freerad" > > main: usercollide = no > > main: lower_user = "no" > > main: lower_pass = "no" > > main: nospace_user = "no" > > main: nospace_pass = "no" > > main: checkrad = "/usr/sbin/checkrad" > > main: proxy_requests = yes > > proxy: retry_delay = 5 > > proxy: retry_count = 3 > > proxy: synchronous = no > > proxy: default_fallback = yes > > proxy: dead_time = 120 > > proxy: post_proxy_authorize = no > > proxy: wake_all_if_all_dead = no > > security: max_attributes = 200 > > security: reject_delay = 1 > > security: status_server = no > > main: debug_level = 0 > > read_config_files: reading dictionary > > read_config_files: reading naslist > > Using deprecated naslist file. Support for this will go away soon. > > read_config_files: reading clients > > read_config_files: reading realms > > radiusd: entering modules setup > > Module: Library search path is /usr/lib/freeradius > > Module: Loaded exec > > exec: wait = yes > > exec: program = "(null)" > > exec: input_pairs = "request" > > exec: output_pairs = "(null)" > > exec: packet_type = "(null)" > > rlm_exec: Wait=yes but no output defined. Did you mean output=none? > > Module: Instantiated exec (exec) > > Module: Loaded expr > > Module: Instantiated expr (expr) > > Module: Loaded PAP > > pap: encryption_scheme = "crypt" > > Module: Instantiated pap (pap) > > Module: Loaded CHAP > > Module: Instantiated chap (chap) > > Module: Loaded MS-CHAP > > mschap: use_mppe = yes > > mschap: require_encryption = no > > mschap: require_strong = no > > mschap: with_ntdomain_hack = no > > mschap: passwd = "(null)" > > mschap: authtype = "MS-CHAP" > > mschap: ntlm_auth = "(null)" > > Module: Instantiated mschap (mschap) > > Module: Loaded System > > unix: cache = no > > unix: passwd = "(null)" > > unix: shadow = "/etc/shadow" > > unix: group = "(null)" > > unix: radwtmp = "/var/log/freeradius/radwtmp" > > unix: usegroup = no > > unix: cache_reload = 600 > > Module: Instantiated unix (unix) > > Module: Loaded eap > > eap: default_eap_type = "md5" > > eap: timer_expire = 60 > > eap: ignore_unknown_eap_types = no > > eap: cisco_accounting_username_bug = no > > rlm_eap: Loaded and initialized type md5 > > rlm_eap: Loaded and initialized type leap > > gtc: challenge = "Password: " > > gtc: auth_type = "PAP" > > rlm_eap: Loaded and initialized type gtc > > mschapv2: with_ntdomain_hack = no > > rlm_eap: Loaded and initialized type mschapv2 > > Module: Instantiated eap (eap) > > Module: Loaded preprocess > > preprocess: huntgroups = "/etc/freeradius/huntgroups" > > preprocess: hints = "/etc/freeradius/hints" > > preprocess: with_ascend_hack = no > > preprocess: ascend_channels_per_line = 23 > > preprocess: with_ntdomain_hack = no
Re: rlm_perl segfault
Can you check which version of libperl you are using ? I think on Debian it was separate package ? Also please can you try to run freeradius with example.pl which is included in freeradius. On Wednesday 08 March 2006 05:12, Grant Zanetti wrote: > I've just tried to get the rlm_perl module working. > > I'm running debian 3.1 with perl 5.8.8. I've tried installing the > prebuilt debian packages as well as from source with "dpkg-buildpackage > -rfakeroot -uc -b" > > However after loading the module freeradius segfaults. > > Freeradius config: > modules { > perl ipalloc { > module = /etc/freeradius/dynip.pl > func_accounting = accounting > func_post_auth = post_auth > } > } > > post-auth { > ipalloc > } > > When running freeradius I get > > traffic:/etc/freeradius# freeradius -X > Starting - reading configuration files ... > reread_config: reading radiusd.conf > Config: including file: /etc/freeradius/proxy.conf > Config: including file: /etc/freeradius/clients.conf > Config: including file: /etc/freeradius/snmp.conf > Config: including file: /etc/freeradius/eap.conf > Config: including file: /etc/freeradius/sql.conf > main: prefix = "/usr" > main: localstatedir = "/var" > main: logdir = "/var/log/freeradius" > main: libdir = "/usr/lib/freeradius" > main: radacctdir = "/var/log/freeradius/radacct" > main: hostname_lookups = no > main: max_request_time = 30 > main: cleanup_delay = 5 > main: max_requests = 1024 > main: delete_blocked_requests = 0 > main: port = 0 > main: allow_core_dumps = no > main: log_stripped_names = no > main: log_file = "/var/log/freeradius/radius.log" > main: log_auth = no > main: log_auth_badpass = no > main: log_auth_goodpass = no > main: pidfile = "/var/run/freeradius/freeradius.pid" > main: user = "freerad" > main: group = "freerad" > main: usercollide = no > main: lower_user = "no" > main: lower_pass = "no" > main: nospace_user = "no" > main: nospace_pass = "no" > main: checkrad = "/usr/sbin/checkrad" > main: proxy_requests = yes > proxy: retry_delay = 5 > proxy: retry_count = 3 > proxy: synchronous = no > proxy: default_fallback = yes > proxy: dead_time = 120 > proxy: post_proxy_authorize = no > proxy: wake_all_if_all_dead = no > security: max_attributes = 200 > security: reject_delay = 1 > security: status_server = no > main: debug_level = 0 > read_config_files: reading dictionary > read_config_files: reading naslist > Using deprecated naslist file. Support for this will go away soon. > read_config_files: reading clients > read_config_files: reading realms > radiusd: entering modules setup > Module: Library search path is /usr/lib/freeradius > Module: Loaded exec > exec: wait = yes > exec: program = "(null)" > exec: input_pairs = "request" > exec: output_pairs = "(null)" > exec: packet_type = "(null)" > rlm_exec: Wait=yes but no output defined. Did you mean output=none? > Module: Instantiated exec (exec) > Module: Loaded expr > Module: Instantiated expr (expr) > Module: Loaded PAP > pap: encryption_scheme = "crypt" > Module: Instantiated pap (pap) > Module: Loaded CHAP > Module: Instantiated chap (chap) > Module: Loaded MS-CHAP > mschap: use_mppe = yes > mschap: require_encryption = no > mschap: require_strong = no > mschap: with_ntdomain_hack = no > mschap: passwd = "(null)" > mschap: authtype = "MS-CHAP" > mschap: ntlm_auth = "(null)" > Module: Instantiated mschap (mschap) > Module: Loaded System > unix: cache = no > unix: passwd = "(null)" > unix: shadow = "/etc/shadow" > unix: group = "(null)" > unix: radwtmp = "/var/log/freeradius/radwtmp" > unix: usegroup = no > unix: cache_reload = 600 > Module: Instantiated unix (unix) > Module: Loaded eap > eap: default_eap_type = "md5" > eap: timer_expire = 60 > eap: ignore_unknown_eap_types = no > eap: cisco_accounting_username_bug = no > rlm_eap: Loaded and initialized type md5 > rlm_eap: Loaded and initialized type leap > gtc: challenge = "Password: " > gtc: auth_type = "PAP" > rlm_eap: Loaded and initialized type gtc > mschapv2: with_ntdomain_hack = no > rlm_eap: Loaded and initialized type mschapv2 > Module: Instantiated eap (eap) > Module: Loaded preprocess > preprocess: huntgroups = "/etc/freeradius/huntgroups" > preprocess: hints = "/etc/freeradius/hints" > preprocess: with_ascend_hack = no > preprocess: ascend_channels_per_line = 23 > preprocess: with_ntdomain_hack = no > preprocess: with_specialix_jetstream_hack = no > preprocess: with_cisco_vsa_hack = no > Module: Instantiated preprocess (preprocess) > Module: Loaded realm > realm: format = "suffix" > realm: delimiter = "@" > realm: ignore_default = no > realm: ignore_null = no > Module: Instantiated realm (suffix) > Module: Loaded files > files: usersfile = "/etc/freeradius/users" > files: acctusersfile = "/etc/freeradius/acct_users" > files: preproxy_usersfile = "/etc/freeradius/preproxy_users" > files: compat = "no" > Module: Instantiated files (files) > Module: Loa
rlm_perl segfault
I've just tried to get the rlm_perl module working. I'm running debian 3.1 with perl 5.8.8. I've tried installing the prebuilt debian packages as well as from source with "dpkg-buildpackage -rfakeroot -uc -b" However after loading the module freeradius segfaults. Freeradius config: modules { perl ipalloc { module = /etc/freeradius/dynip.pl func_accounting = accounting func_post_auth = post_auth } } post-auth { ipalloc } When running freeradius I get traffic:/etc/freeradius# freeradius -X Starting - reading configuration files ... reread_config: reading radiusd.conf Config: including file: /etc/freeradius/proxy.conf Config: including file: /etc/freeradius/clients.conf Config: including file: /etc/freeradius/snmp.conf Config: including file: /etc/freeradius/eap.conf Config: including file: /etc/freeradius/sql.conf main: prefix = "/usr" main: localstatedir = "/var" main: logdir = "/var/log/freeradius" main: libdir = "/usr/lib/freeradius" main: radacctdir = "/var/log/freeradius/radacct" main: hostname_lookups = no main: max_request_time = 30 main: cleanup_delay = 5 main: max_requests = 1024 main: delete_blocked_requests = 0 main: port = 0 main: allow_core_dumps = no main: log_stripped_names = no main: log_file = "/var/log/freeradius/radius.log" main: log_auth = no main: log_auth_badpass = no main: log_auth_goodpass = no main: pidfile = "/var/run/freeradius/freeradius.pid" main: user = "freerad" main: group = "freerad" main: usercollide = no main: lower_user = "no" main: lower_pass = "no" main: nospace_user = "no" main: nospace_pass = "no" main: checkrad = "/usr/sbin/checkrad" main: proxy_requests = yes proxy: retry_delay = 5 proxy: retry_count = 3 proxy: synchronous = no proxy: default_fallback = yes proxy: dead_time = 120 proxy: post_proxy_authorize = no proxy: wake_all_if_all_dead = no security: max_attributes = 200 security: reject_delay = 1 security: status_server = no main: debug_level = 0 read_config_files: reading dictionary read_config_files: reading naslist Using deprecated naslist file. Support for this will go away soon. read_config_files: reading clients read_config_files: reading realms radiusd: entering modules setup Module: Library search path is /usr/lib/freeradius Module: Loaded exec exec: wait = yes exec: program = "(null)" exec: input_pairs = "request" exec: output_pairs = "(null)" exec: packet_type = "(null)" rlm_exec: Wait=yes but no output defined. Did you mean output=none? Module: Instantiated exec (exec) Module: Loaded expr Module: Instantiated expr (expr) Module: Loaded PAP pap: encryption_scheme = "crypt" Module: Instantiated pap (pap) Module: Loaded CHAP Module: Instantiated chap (chap) Module: Loaded MS-CHAP mschap: use_mppe = yes mschap: require_encryption = no mschap: require_strong = no mschap: with_ntdomain_hack = no mschap: passwd = "(null)" mschap: authtype = "MS-CHAP" mschap: ntlm_auth = "(null)" Module: Instantiated mschap (mschap) Module: Loaded System unix: cache = no unix: passwd = "(null)" unix: shadow = "/etc/shadow" unix: group = "(null)" unix: radwtmp = "/var/log/freeradius/radwtmp" unix: usegroup = no unix: cache_reload = 600 Module: Instantiated unix (unix) Module: Loaded eap eap: default_eap_type = "md5" eap: timer_expire = 60 eap: ignore_unknown_eap_types = no eap: cisco_accounting_username_bug = no rlm_eap: Loaded and initialized type md5 rlm_eap: Loaded and initialized type leap gtc: challenge = "Password: " gtc: auth_type = "PAP" rlm_eap: Loaded and initialized type gtc mschapv2: with_ntdomain_hack = no rlm_eap: Loaded and initialized type mschapv2 Module: Instantiated eap (eap) Module: Loaded preprocess preprocess: huntgroups = "/etc/freeradius/huntgroups" preprocess: hints = "/etc/freeradius/hints" preprocess: with_ascend_hack = no preprocess: ascend_channels_per_line = 23 preprocess: with_ntdomain_hack = no preprocess: with_specialix_jetstream_hack = no preprocess: with_cisco_vsa_hack = no Module: Instantiated preprocess (preprocess) Module: Loaded realm realm: format = "suffix" realm: delimiter = "@" realm: ignore_default = no realm: ignore_null = no Module: Instantiated realm (suffix) Module: Loaded files files: usersfile = "/etc/freeradius/users" files: acctusersfile = "/etc/freeradius/acct_users" files: preproxy_usersfile = "/etc/freeradius/preproxy_users" files: compat = "no" Module: Instantiated files (files) Module: Loaded Acct-Unique-Session-Id acct_unique: key = "User-Name, Acct-Session-Id, NAS-IP-Address, Client-IP-Address, NAS-Port" Module: Instantiated acct_unique (acct_unique) Module: Loaded detail detail: detailfile = "/var/log/freeradius/radacct/%{Client-IP-Address}/detail-%Y%m%d" detail: detailperm = 384 detail: dirperm = 493 detail: locking = no Module: Instantiated detail (detail) Module: Loaded radutmp radutmp: filename = "/var/log/free