[Bug 1228] New: [REGRESSION] nft cannot load big set anymore
bugzilla-daemon at netfilter.org
bugzilla-daemon at netfilter.org
Sun Feb 18 15:40:41 CET 2018
https://bugzilla.netfilter.org/show_bug.cgi?id=1228
Bug ID: 1228
Summary: [REGRESSION] nft cannot load big set anymore
Product: nftables
Version: unspecified
Hardware: x86_64
OS: other
Status: NEW
Severity: normal
Priority: P5
Component: nft
Assignee: pablo at netfilter.org
Reporter: oleksandr at natalenko.name
Created attachment 530
--> https://bugzilla.netfilter.org/attachment.cgi?id=530&action=edit
Huge set
Hello.
After nft v0.8.1 is released, I cannot load my huge set of blackholes anymore.
nft just eats CPU at 100% while loading the rules. I've waited for 5 minutes
before killing it. v0.8.0 performed the load well in ~15 seconds.
Next, I've recompiled the nft v0.8.2 with the debug info and then attached to
it with gdb while it wastes CPU to get a backtrace:
===
(gdb) bt
#0 0x00007fc9593d134b in __gmpz_cmp () from /usr/lib/libgmp.so.10
#1 0x00005600a1cb1097 in interval_overlap (e1=e1 at entry=0x5600aaf5efc0,
e2=e2 at entry=0x5600addf0240) at segtree.c:350
#2 0x00005600a1cb1794 in intervals_overlap (keylen=<optimized out>,
intervals=<optimized out>, msgs=<optimized out>)
at segtree.c:386
#3 set_to_segtree (merge=<optimized out>, add=true, tree=0x7fff36409230,
init=0x5600a2fdc590, set=0x5600a2fdbe10,
msgs=0x7fff36409490) at segtree.c:416
#4 set_to_intervals (errs=0x7fff36409490, set=set at entry=0x5600a2fdbe10,
init=0x5600a2fdc590, add=add at entry=true,
debug_mask=<optimized out>, merge=false) at segtree.c:586
#5 0x00005600a1c94fe0 in do_add_set (flags=0, set=0x5600a2fdbe10,
h=0x5600a2fdcaf0, ctx=0x7fff364093e0) at rule.c:1015
#6 do_command_add (ctx=0x7fff364093e0, cmd=0x5600a2fdcab0,
excl=excl at entry=false) at rule.c:1054
#7 0x00005600a1c967a7 in do_command (ctx=ctx at entry=0x7fff364093e0,
cmd=cmd at entry=0x5600a2fdcab0) at rule.c:1805
#8 0x00005600a1c810e5 in nft_netlink (nf_sock=0x5600a2fdbb50,
msgs=0x7fff36409490, state=0x7fff364094a0, nft=0x5600a2fdba20)
at libnftables.c:47
#9 nft_run (nft=nft at entry=0x5600a2fdba20, nf_sock=0x5600a2fdbb50,
scanner=scanner at entry=0x5600a2fdbb90,
state=state at entry=0x7fff364094a0, msgs=msgs at entry=0x7fff36409490) at
libnftables.c:95
#10 0x00005600a1c817dc in nft_run_cmd_from_filename (nft=0x5600a2fdba20,
filename=0x7fff3640be70 "/etc/nftables.conf")
at libnftables.c:323
#11 0x00005600a1c80799 in main (argc=3, argv=0x7fff36409d58) at main.c:276
===
I think this has something to do with the changes related to checking for
overlapping ranges introduced in v0.8.1.
Here is how the set gets loaded:
===
…
table inet filter {
set blackhole {
type ipv4_addr
flags interval
include "/etc/nftables-blackhole.conf"
}
…
===
I'm attaching the nftables-blackhole.conf file to this ticket too.
Could you please fix this?
Thanks.
--
You are receiving this mail because:
You are watching all bug changes.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.netfilter.org/pipermail/netfilter-buglog/attachments/20180218/0eebf499/attachment.html>
More information about the netfilter-buglog
mailing list