|
| 1 | += Bugs |
| 2 | + |
| 3 | +If you think you've found a bug, first check to confirm that it's |
| 4 | +really a problem. Review the documentation, try to reproduce the bug, |
| 5 | +or see if it's a misconfiguration. Once you've confirmed the issue, |
| 6 | +you can then report the bug to the development team. Good bug reports |
| 7 | +help developers fix problems faster. |
| 8 | + |
| 9 | +This document is primarily for non-developers of the FreeRADIUS |
| 10 | +server. If you are able to patch the code to work correctly, then |
| 11 | +we invite you to join the development list to discuss it. If |
| 12 | +you’re the type who know little about how to code, then this is |
| 13 | +the place for you! |
| 14 | + |
| 15 | +The https://freeradius.org/[FreeRADIUS] web site also hosts most of the |
| 16 | +information referenced in this document. |
| 17 | + |
| 18 | + |
| 19 | +[NOTE] |
| 20 | +==== |
| 21 | +Do *not* post configuration questions on GitHub, they belong on the |
| 22 | +https://freeradius.org/support/[mailing lists] instead. Raising |
| 23 | +support requests or questions as a *Defect Report* will result in them |
| 24 | +being closed and locked. Repeatedly doing so will lead to you being |
| 25 | +banned from the FreeRADIUS project's GitHub repositories. |
| 26 | +==== |
| 27 | + |
| 28 | +== You found a bug |
| 29 | + |
| 30 | +To report a bug or defect, use the FreeRADIUS GitHub |
| 31 | +https://github.com/FreeRADIUS/freeradius-server/issues[Issues] |
| 32 | +page. The freeradius-server repository is where development of |
| 33 | +FreeRADIUS happens, making it the best place to submit bug reports. |
| 34 | + |
| 35 | +For example, report a bug when the server terminates ungracefully due |
| 36 | +to a bus error, segmentation violation, or other memory |
| 37 | +error. Generate the *Defect Report* using the |
| 38 | +https://github.com/FreeRADIUS/freeradius-server/issues/new?template=bug.yml[Create |
| 39 | +new issue] modal and include information from the debugging sections. |
| 40 | + |
| 41 | +The https://github.com/FreeRADIUS/freeradius-server/issues/[Issues] |
| 42 | +page is for non-security related defect reports. Report security |
| 43 | +issues to security@freeradius.org, especially those that can be |
| 44 | +exploited from a remote location. This allows patches to be developed |
| 45 | +before the issue is made public. This process keeps development |
| 46 | +organized and ensures sensitive information is handled properly. |
| 47 | + |
| 48 | +If the behaviour is correct but confusing, we think that’s a bug too, and |
| 49 | +you should file a bug against our documentation. |
| 50 | + |
| 51 | +For any other issues, discuss them on the |
| 52 | +https://www.freeradius.org/list/users.html[FreeRADIUS users list], to |
| 53 | +see if anyone can reproduce them. Often there’s a simple explanation |
| 54 | +of why the server behaves as it does, and it’s not necessarily a bug |
| 55 | +in the code, so browse the lists’ archives of the last two months, and |
| 56 | +if you don’t see messages about it, ask! |
| 57 | + |
| 58 | +For more information about the users list, the |
| 59 | +https://lists.freeradius.org/pipermail/freeradius-users/[lists’ |
| 60 | +archives] and the faq, please visit the |
| 61 | +https://freeradius.org/support/[support] page. Make sure to READ and |
| 62 | +RESPECT the house-rules. You will get much better response and much |
| 63 | +faster if you do! |
| 64 | + |
| 65 | +== Reproduce the bug on current code |
| 66 | + |
| 67 | +Before reporting a bug, make sure that you're not running an old |
| 68 | +version. In many cases, a bug is fixed in a newer release. You can |
| 69 | +get the bug fiux by upgrading, rather than submitting a duplicate bug |
| 70 | +report. |
| 71 | + |
| 72 | +Check that the issue still exists in the current released version, and |
| 73 | +also the latest version in Git. Check out the latest branch for your |
| 74 | +server version, listed on the FreeRADIUS server |
| 75 | +https://doc.freeradius.org/[build page]. Once you've switched |
| 76 | +branches, build the server from the updated code. |
| 77 | + |
| 78 | +Next, try to reproduce the issue by following the same steps that |
| 79 | +caused the problem. This will check if the defect is still there. It |
| 80 | +will also help you give accurate details when you report it. For |
| 81 | +instance, if you're working on a feature in version 4.0, check out the |
| 82 | +release/4.0 branch and test the issue there. This way, you'll report a |
| 83 | +valid defect and help our team fix the issue faster. |
| 84 | + |
| 85 | +Also, check the |
| 86 | +https://github.com/FreeRADIUS/freeradius-server/blob/master/doc/ChangeLog[ChangeLog] |
| 87 | +for the stable branch to see if your issue is already fixed. The |
| 88 | +ChangeLog is updated as fixes are made to the server code, and usually |
| 89 | +reflects the state of the Git HEAD. |
| 90 | + |
| 91 | +Review the GitHub FreeRADIUS |
| 92 | +https://github.com/FreeRADIUS/freeradius-server/issues[Issues] list to |
| 93 | +see if your issue has been previously reported. |
| 94 | + |
| 95 | +== Filing a defect report |
| 96 | + |
| 97 | +To start, gather information by running the server in |
| 98 | +xref:ROOT:debugging/radiusd_X.adoc[debug mode] with radiusd -X to |
| 99 | +capture logs. These logs, traces, etc. are needed for diagnosing |
| 100 | +issues. Please attach *all* relevant output logs to your report. |
| 101 | + |
| 102 | +=== Create Issue |
| 103 | + |
| 104 | +Navigate to the GitHub FreeRADIUS |
| 105 | +https://github.com/FreeRADIUS/freeradius-server/issues[Issues] page |
| 106 | +and click "New Issue" to generate a *Defect Report*. Provide all the |
| 107 | +requested details including a descriptive title that summarizes the |
| 108 | +bug or behaviour. |
| 109 | + |
| 110 | +*Type of bug/defect* |
| 111 | + |
| 112 | +Choose the correct type of bug/defect from the category list. By |
| 113 | +selecting the right category, developers can find the root cause and |
| 114 | +take the right action to fix it. This helps keep the FreeRADIUS |
| 115 | +codebase stable, secure, and working as expected. |
| 116 | + |
| 117 | +.Type of Bug or Defect |
| 118 | +[options=header, cols="20,~",autowidth] |
| 119 | +|=== |
| 120 | +| Category | Description |
| 121 | +| Crash or memory corruption | This happens when the system or app suddenly stops working or doesn't respond. |
| 122 | +| Non-compliance | Occurs when a system or application does not meet the required standards or regulations. For example, if a new attribute is incorrectly designed, it may not comply with RFC standards. The last category is unexpected behaviour. This applies when the issue is apparent or has been validated by a project member. |
| 123 | +| incorrect 3rd party API usage | The application programming interface is not used as intended. It can lead to errors or unexpected behaviour. |
| 124 | +| Unexpected behaviour | If the issue is obvious or has been validated by a project member. |
| 125 | +|=== |
| 126 | + |
| 127 | +*Steps to reproduce* |
| 128 | + |
| 129 | +Explain how to reproduce the bug using clear, step-by-step |
| 130 | +instructions. Please provide details about your environment. Include |
| 131 | +the operating system, version, platform, and any configuration changes |
| 132 | +made. Describe what you expected to happen and what actually happened. |
| 133 | + |
| 134 | +*Log outputs* |
| 135 | + |
| 136 | +When filing a bug report, you need to include logs. Please attach the |
| 137 | +relevant debug logs or stack traces, along with any output from |
| 138 | +debugging you did. The following techniques are avaiable to help you |
| 139 | +debug FreeRADIUS: |
| 140 | + |
| 141 | +* xref:bugs/coredumps.adoc[Core Dumps] |
| 142 | +* xref:bugs/debugserver.adoc[Debug a Live Server] |
| 143 | +* xref:bugs/info.adoc[Obtain Useful Information] |
| 144 | +* xref:bugs/screen.adoc[Use `screen`] |
| 145 | +* xref:bugs/valgrind.adoc[Valgrind] |
| 146 | + |
| 147 | +// Copyright (C) 2026 Network RADIUS SAS. Licenced under CC-by-NC 4.0. |
| 148 | +// This documentation was developed by Network RADIUS SAS. |
0 commit comments