Skip to content

[defect]: Python3 module broken when using two module instantiations and upgrading from 3.2.6 to 3.2.7. #5580

@bmcjarrow

Description

@bmcjarrow

What type of defect/bug is this?

Crash or memory corruption (segv, abort, etc...)

How can the issue be reproduced?

1.Fresh Rocky Linux 8.10 server install with relevant networkradius package repo.
2. Install freeradius-python 3.2.6-1 and relevant dependencies
3. copy the python3 example.py to example1.py and example2.py
4. add the relevant func_authenticate = authenticate to the two files(just copy authorise and rename).
5. create a module config file in the mods-enabled folder with the contents:
python3 example1 {
pass_all_vps_dict = yes
mod_instantiate = example1
func_instantiate = instantiate
mod_authenticate = example1
func_authenticate = authenticate
mod_authorize = example1
func_authorize = authorize
python_path="${modconfdir}/${.:name}"
module = example1
}
python3 example2 {
pass_all_vps_dict = yes
mod_instantiate = example2
func_instantiate = instantiate
mod_authenticate = example2
func_authenticate = authenticate
mod_authorize = example2
func_authorize = authorize
python_path="${modconfdir}/${.:name}"
module = example2
}
6. runuser -u radiusd -- /usr/sbin/radiusd -d /etc/raddb -X -xxxx
7. yum update and upgrade the freeradius packages to 3.2.7
8. runuser -u radiusd -- /usr/sbin/radiusd -d /etc/raddb -X -xxxx
Instantiating module "example2" from file /etc/raddb/mods-enabled/pyhton3_modules.conf will hang

Log output from the FreeRADIUS daemon

Thu May 15 17:15:53 2025 : Debug:   # Instantiating module "example1" from file /etc/raddb/mods-enabled/pyhton3_modules.conf
Thu May 15 17:15:53 2025 : Info: Python version: 3.6.8 (default, Dec  4 2024, 12:35:02)  [GCC 8.5.0 20210514 (Red Hat 8.5.0-22)]
*** instantiate ***
{'request': None, 'reply': None, 'config': None, 'session-state': None, 'proxy-request': None, 'proxy-reply': None}
Thu May 15 17:15:53 2025 : Debug:   # Instantiating module "example2" from file /etc/raddb/mods-enabled/pyhton3_modules.conf
^CInterrupt
[root@rl810rad1 ~]#

Relevant log output from client utilities

No response

Backtrace from LLDB or GDB

Metadata

Metadata

Assignees

No one assigned

    Labels

    defectcategory: a defect or misbehaviour

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions