Portal:DeveloperDocs/Bug reporting: Difference between revisions

From nftables wiki
Jump to navigation Jump to search
(create page)
 
(refresh page with interlinks etc)
 
Line 17: Line 17:
#* library versions, for example libnftnl, libmnl, libnetfilter-conntrack, etc.
#* library versions, for example libnftnl, libmnl, libnetfilter-conntrack, etc.
#* utility versions, for example nft, conntrack-tools, ulogd2, iptables, ipset, etc
#* utility versions, for example nft, conntrack-tools, ulogd2, iptables, ipset, etc
#* linux kernel version, for example ''`uname -a`''
#* linux kernel version, for example <pre>uname -a</pre>
#* linux kernel config, for example ''`cat /boot/config-$(uname -r) | egrep _NFT\|NF_TABLES\|NETFILTER\|_NF_`''
#* linux kernel config, for example <pre>cat /boot/config-$(uname -r) | egrep _NFT\|NF_TABLES\|NETFILTER\|_NF_</pre>
#* the ruleset or config you are using. Delete personal or sensible data if required
#* the ruleset or config you are using. Delete personal or sensible data if required
#* debug output if applicable, for example ''`nft --debug=all yourcommand`''
#* debug output if applicable, for example <pre>nft --debug=all yourcommand</pre>
#* any relevant ''`dmesg`'' output
#* any relevant ''`dmesg`'' output
#* any relevant ''`sysctl`'' configuration
#* any relevant ''`sysctl`'' configuration
Line 27: Line 27:
# Once all the information above is collected, file a bug report in our bug tracker
# Once all the information above is collected, file a bug report in our bug tracker
# If the issue is really serious, urgent, causing security issues or the like, feel free to contact [mailto:netfilter-devel@vger.kernel.org netfilter-devel@vger.kernel.org]
# If the issue is really serious, urgent, causing security issues or the like, feel free to contact [mailto:netfilter-devel@vger.kernel.org netfilter-devel@vger.kernel.org]
# Ideally, if you are a software developer, try submitting a prospective [[Patch submission guidelines | patch]].
# Ideally, if you are a software developer, try submitting a prospective [[Portal:DeveloperDocs/Patch_submission_guidelines | patch]].


== Additional info in case of bugs ==
== Additional info in case of bugs ==
Line 44: Line 44:
Valuable additional information:
Valuable additional information:


* [[Patch submission guidelines]]
* [[Portal:DeveloperDocs/Patch_submission_guidelines | Patch submission guidelines]]
* [[Development environment]]
* [[Portal:DeveloperDocs/Development_environment | Development environment]]
* [[Contributing]]
* [[Portal:DeveloperDocs/Contributing | Contributing]]
* [[Mailing lists]]

Latest revision as of 13:54, 14 July 2019

These are our guidelines about bug reporting. Our software packages are widely used, in several different scenarios, and are developed by humans. That means that eventually there would be issues and bugs arising. Proper and actionable bug reports are key to trigger movements from developers in order to address and fix such issues and bugs.

Also, duplicated and/or bogus bug reports slow down the development process and requires valuable time resources from developers.

Submitting a bug report

Please follow these steps when reporting an issue/bug:

  1. Try to identify that this is actually a bug and not a misuse in your side.
  2. If using a package from a downstream distribution, try contacting first the distro maintainer. The bug could be in the packaging itself.
  3. Check if the bug has been fixed already. You would need to look at sites like https://git.netfilter.org and https://git.kernel.org/pub/scm/linux/kernel/git/pablo
  4. In case is not fixed, visit our current bug tracker: http://bugzilla.netfilter.org/
  5. Check if the bug has been reported already. If the bug has been reported and you would like to give additional information, please go ahead.
  6. In order to do a proper bug report, collect all this information:
    • library versions, for example libnftnl, libmnl, libnetfilter-conntrack, etc.
    • utility versions, for example nft, conntrack-tools, ulogd2, iptables, ipset, etc
    • linux kernel version, for example
      uname -a
    • linux kernel config, for example
      cat /boot/config-$(uname -r) | egrep _NFT\|NF_TABLES\|NETFILTER\|_NF_
    • the ruleset or config you are using. Delete personal or sensible data if required
    • debug output if applicable, for example
      nft --debug=all yourcommand
    • any relevant `dmesg` output
    • any relevant `sysctl` configuration
    • steps to reproduce the issue, if possible
    • any other specific or local configuration you may be using related to Netfilter software
  7. Once all the information above is collected, file a bug report in our bug tracker
  8. If the issue is really serious, urgent, causing security issues or the like, feel free to contact netfilter-devel@vger.kernel.org
  9. Ideally, if you are a software developer, try submitting a prospective patch.

Additional info in case of bugs

There are some external tools that could give additional details about what is going on with a bug:

  • valgrind: this utility collects data about memory usage and reports memory leaks and memory-related crashes
  • gdb: this utility can print the stack trace of functions inside programs. You would need debugging symbols to know function names
  • strace: this tool reports the syscalls that any program does
  • tcpdump: this can help in determining what's happening with network packets/flows in the kernel

More info in the development environment page.

See also

Valuable additional information: