Opened 7 years ago
Closed 6 years ago
#7943 closed defect (obsolete)
opkg-installed 'ipset' fails to exec: "Couldn't verify kernel module version!"
Reported by: | dev001 <pgngw+dev001+dev.openwrt.org@…> | Owned by: | jow |
---|---|---|---|
Priority: | normal | Milestone: | |
Component: | packages | Version: | Backfire 10.03 |
Keywords: | Cc: |
Description (last modified by jow)
i've installed Backfire 10.03 on a Buffalo WZR-HP-300NH, with rootfc on an External USB drive mounted via block-extroot.
all's working well so far; packages install fine.
on
uname -a
Linux OpenWrt 2.6.32.10 #20 Tue Apr 6 15:01:26 CEST 2010 mips GNU/Linux
in the processing of getting an iptables firewall set up, i've installed:
opkg list-installed | egrep -i "tables|ipset" ip6tables - 1.4.6-2 ip6tables-utils - 1.4.6-2 ipset - 4.1-1 iptables - 1.4.6-2 iptables-mod-conntrack - 1.4.6-2 iptables-mod-conntrack-extra - 1.4.6-2 iptables-mod-filter - 1.4.6-2 iptables-mod-imq - 1.4.6-2 iptables-mod-ipopt - 1.4.6-2 iptables-mod-ipset - 1.4.6-2 iptables-mod-nat - 1.4.6-2 iptables-mod-nat-extra - 1.4.6-2 iptables-utils - 1.4.6-2 kmod-ip6tables - 2.6.32.16-1 kmod-ipt-compat-xtables - 2.6.32.16+1.28-1 kmod-ipt-ipset - 2.6.32.16+4.1-1 libxtables - 1.4.6-2
checking,
lsmod | grep ip ipt_MASQUERADE 992 1 iptable_nat 2768 1 nf_nat 10912 5 nf_nat_tftp,nf_nat_irc,nf_nat_ftp,ipt_MASQUERADE,iptable_nat iptable_raw 656 1 nf_conntrack_ipv4 7920 6 iptable_nat,nf_nat nf_defrag_ipv4 624 1 nf_conntrack_ipv4 nf_conntrack 38848 12 nf_nat_tftp,nf_conntrack_tftp,nf_nat_irc,nf_conntrack_irc,nf_nat_ftp,nf_conntrack_ftp,ipt_MASQUERADE,iptable_nat,nf_nat,xt_NOTRACK,xt_state,nf_conntrack_ipv4 ipt_REJECT 1680 2 ipt_LOG 4176 0 xt_multiport 1792 0 iptable_mangle 992 0 iptable_filter 768 1 ip_tables 8464 4 iptable_nat,iptable_raw,iptable_mangle,iptable_filter x_tables 9296 13 ipt_MASQUERADE,iptable_nat,xt_NOTRACK,xt_state,ipt_REJECT,xt_TCPMSS,ipt_LOG,xt_comment,xt_multiport,xt_mac,xt_limit,ip_tables,xt_tcpudp
there's no trace of ipset ...
also,
which ipset /usr/sbin/ipset ipset -V ipset v4.1, protocol version 4. ipset v4.1: Couldn't verify kernel module version!
Attachments (0)
Change History (8)
comment:1 follow-up: ↓ 2 Changed 7 years ago by jow
- Description modified (diff)
comment:2 in reply to: ↑ 1 Changed 7 years ago by dev001 <pgngw+dev001+dev.openwrt.org@…>
hi,
Replying to jow:
Can you strace it?
if i read this right (?), missing 'modprobe'?
strace ipset -V
execve("/usr/sbin/ipset", ["ipset", "-V"], /* 18 vars */) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaad000
stat("/etc/ld.so.cache", 0x7fc04dd0) = -1 ENOENT (No such file or directory)
open("/lib/libdl.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=8312, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\10`\0\0\0004"..., 4096) = 4096
old_mmap(NULL, 77824, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aabe000
old_mmap(0x2aabe000, 6512, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aabe000
old_mmap(0x2aacf000, 4216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x2aacf000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=401364, ...}) = 0
old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaae000
read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\252\300\0\0\0004"..., 4096) = 4096
old_mmap(NULL, 487424, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aad1000
old_mmap(0x2aad1000, 396400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aad1000
old_mmap(0x2ab41000, 8148, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x60000) = 0x2ab41000
old_mmap(0x2ab43000, 19456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ab43000
close(3) = 0
munmap(0x2aaae000, 4096) = 0
open("/lib/libc.so.0", O_RDONLY) = 3
fstat(3, {st_mode=S_IFREG|0644, st_size=401364, ...}) = 0
close(3) = 0
stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=20708, ...}) = 0
mprotect(0x2aacf000, 4096, PROT_READ) = 0
mprotect(0x2ab41000, 4096, PROT_READ) = 0
mprotect(0x2aabc000, 4096, PROT_READ) = 0
ioctl(0, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
ioctl(1, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0
write(1, "ipset v4.1, protocol version 4.\n", 32ipset v4.1, protocol version 4.
) = 32
socket(PF_INET, SOCK_RAW, IPPROTO_RAW) = 3
getsockopt(3, SOL_IP, 0x53 /* IP_??? */, 0x7fc0505c, 0x7fc05058) = -1 ENOPROTOOPT (Protocol not available)
stat("/sbin/modprobe", 0x7fc04ea8) = -1 ENOENT (No such file or directory)
fork() = 1117
wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 1117
--- SIGCHLD (Child exited) @ 0 (0) ---
write(2, "ipset", 5ipset) = 5
write(2, " v", 2 v) = 2
write(2, "4.1", 34.1) = 3
write(2, ": ", 2: ) = 2
write(2, "Couldn't verify kernel module ve"..., 38Couldn't verify kernel module version!) = 38
write(2, "\n", 1
) = 1
exit(1) = ?
comment:3 Changed 7 years ago by dev001 <pgngw+dev001+dev.openwrt.org@…>
agh! sorry abot that -- formatting :-/
execve("/usr/sbin/ipset", ["ipset", "-V"], [/* 18 vars */]) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaad000 stat("/etc/ld.so.cache", {st_mode=S_IFREG|0644, st_size=2483, ...}) = 0 open("/etc/ld.so.cache", O_RDONLY) = 3 old_mmap(NULL, 2483, PROT_READ, MAP_SHARED, 3, 0) = 0x2aaae000 close(3) = 0 open("/lib/libdl.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=8312, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaf000 read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\10`\0\0\0004"..., 4096) = 4096 old_mmap(NULL, 77824, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aabe000 old_mmap(0x2aabe000, 6512, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aabe000 old_mmap(0x2aacf000, 4216, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x1000) = 0x2aacf000 close(3) = 0 munmap(0x2aaaf000, 4096) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=401364, ...}) = 0 old_mmap(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aaaf000 read(3, "\177ELF\1\2\1\0\0\0\0\0\0\0\0\0\0\3\0\10\0\0\0\1\0\0\252\300\0\0\0004"..., 4096) = 4096 old_mmap(NULL, 487424, PROT_NONE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0x2aad1000 old_mmap(0x2aad1000, 396400, PROT_READ|PROT_EXEC, MAP_PRIVATE|MAP_FIXED, 3, 0) = 0x2aad1000 old_mmap(0x2ab41000, 8148, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED, 3, 0x60000) = 0x2ab41000 old_mmap(0x2ab43000, 19456, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_FIXED|MAP_ANONYMOUS, -1, 0) = 0x2ab43000 close(3) = 0 munmap(0x2aaaf000, 4096) = 0 open("/lib/libc.so.0", O_RDONLY) = 3 fstat(3, {st_mode=S_IFREG|0644, st_size=401364, ...}) = 0 close(3) = 0 munmap(0x2aaae000, 2483) = 0 stat("/lib/ld-uClibc.so.0", {st_mode=S_IFREG|0755, st_size=20708, ...}) = 0 mprotect(0x2aacf000, 4096, PROT_READ) = 0 mprotect(0x2ab41000, 4096, PROT_READ) = 0 mprotect(0x2aabc000, 4096, PROT_READ) = 0 ioctl(0, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0 ioctl(1, TIOCNXCL, {B38400 opost isig icanon echo ...}) = 0 write(1, "ipset v4.1, protocol version 4.\n", 32ipset v4.1, protocol version 4. ) = 32 socket(PF_INET, SOCK_RAW, IPPROTO_RAW) = 3 getsockopt(3, SOL_IP, 0x53 /* IP_??? */, 0x7ff7a3bc, 0x7ff7a3b8) = -1 ENOPROTOOPT (Protocol not available) stat("/sbin/modprobe", 0x7ff7a208) = -1 ENOENT (No such file or directory) fork() = 1157 wait4(-1, [{WIFEXITED(s) && WEXITSTATUS(s) == 1}], 0, NULL) = 1157 --- SIGCHLD (Child exited) @ 0 (0) --- write(2, "ipset", 5ipset) = 5 write(2, " v", 2 v) = 2 write(2, "4.1", 34.1) = 3 write(2, ": ", 2: ) = 2 write(2, "Couldn't verify kernel module ve"..., 38Couldn't verify kernel module version!) = 38 write(2, "\n", 1 ) = 1 exit(1) = ?
comment:4 Changed 7 years ago by dev001 <pgngw+dev001+dev.openwrt.org@…>
fyi,
cat /etc/modules.d/46-ipt-ipset
ip_set
ip_set_iphash
ip_set_ipmap
ip_set_ipporthash
ip_set_ipportiphash
ip_set_ipportnethash
ip_set_iptree
ip_set_iptreemap
ip_set_macipmap
ip_set_nethash
ip_set_portmap
ip_set_setlist
ipt_set
ipt_SET
comment:5 follow-up: ↓ 6 Changed 7 years ago by jow
- Owner changed from developers to jow
- Status changed from new to accepted
I see, looks like ipset wants to modprobe and unconditionally bails out if modprobe invocation failed, we patched that out of iptables already, looks like ipset needs the same. I'll look into it.
comment:6 in reply to: ↑ 5 Changed 7 years ago by dev001 <pgngw+dev001+dev.openwrt.org@…>
hi
Replying to jow:
I see, looks like ipset wants to modprobe and unconditionally bails out if modprobe invocation failed, we patched that out of iptables already, looks like ipset needs the same. I'll look into it.
thx!
i'm not sure why modprobe has been removed from openwrt -- it's in, at least, default busybox, right? perhaps for accommodating typical ram constraints? just not sure ...
in any case, would it not be helpful/preferable to have a modprobe pkg available in 'standard' openwrt opkg repos? those of us running, e.g., ipset, understand it's not particularly useful, or even doable, on a 4M sys. but on these newer/larger boxes ...
thanks again!
comment:7 Changed 7 years ago by anonymous
In my case the modprobe for module "ip_set" also failed. I compiled the module but didn't update the module table with "depmod"
The strace that showed me more info was
strace -fe verbose=all -e write=all ipset -H
comment:8 Changed 6 years ago by jow
- Resolution set to obsolete
- Status changed from accepted to closed
I assume this is fixed in trunk now.
Can you strace it?