[Bug 225573] Re: iproute: ss -u segfaults if ipv6 module is not loaded
Launchpad has imported 9 comments from the remote bug at https://bugzilla.redhat.com/show_bug.cgi?id=493578. If you reply to an imported comment from within Launchpad, your comment will be sent to the remote bug automatically. Read more about Launchpad's inter-bugtracker facilities at https://help.launchpad.net/InterBugTracking. On 2009-04-02T10:41:39+00:00 Mihail wrote: when i type [root@myserver ~]# ss State Recv-Q Send-Q Local Address:Port Peer Address:Port ESTAB 0 0 10.1.0.12:ssh x.x.x.x:4172 ESTAB 0 0 10.1.0.12:mysql 10.1.0.11:34003 Segmentation fault [root@myserver ~]# When ipv6 is off close(4) = 0 open("/proc/net/tcp6", O_RDONLY) = -1 ENOENT (No such file or directory) --- SIGSEGV (Segmentation fault) @ 0 (0) --- I try this on i386 and x86_64 and is the same error Reply at: https://bugs.launchpad.net/ubuntu/+source/iproute/+bug/225573/comments/5 On 2009-04-02T10:47:42+00:00 Mihail wrote: http://bugs.centos.org/view.php?id=3475 Reply at: https://bugs.launchpad.net/ubuntu/+source/iproute/+bug/225573/comments/6 On 2009-04-07T09:27:26+00:00 Marcela wrote: *** Bug 493622 has been marked as a duplicate of this bug. *** Reply at: https://bugs.launchpad.net/ubuntu/+source/iproute/+bug/225573/comments/7 On 2009-04-07T14:09:46+00:00 Marcela wrote: You can use for the meantime: "ss -f inet" After fixing previous problem "not showing all socket states" #446198 with upstream commit ab01dbbb94b8620c2bc85e30e107c3a9f0870a73 show up different bugs. On RHEL-5 machine could be seen this one, which could be fixed by upstream commit: 69cae645b28edbba53c8601ddeba01430e5e9da0 Reply at: https://bugs.launchpad.net/ubuntu/+source/iproute/+bug/225573/comments/8 On 2009-04-07T14:11:31+00:00 Marcela wrote: Created attachment 338509 Upstream commit git 69cae645b28edbba53c8601ddeba01430e5e9da0 Reply at: https://bugs.launchpad.net/ubuntu/+source/iproute/+bug/225573/comments/9 On 2009-06-08T22:14:23+00:00 Roberto wrote: In the function: static FILE *generic_proc_open(const char *env, const char *name) { char store[128]; const char *p = getenv(env); FILE *fp; if (!p) { p = getenv("PROC_ROOT") ? : "/proc"; snprintf(store, sizeof(store)-1, "%s/%s", p, name); p = store; } return fopen(p, "r"); } PROC_ROOT can be something longer than 128 and cause other segfault. Reply at: https://bugs.launchpad.net/ubuntu/+source/iproute/+bug/225573/comments/10 On 2009-06-09T06:20:26+00:00 Marcela wrote: (In reply to comment #7) > In the function: > > static FILE *generic_proc_open(const char *env, const char *name) > { > char store[128]; > const char *p = getenv(env); > FILE *fp; > if (!p) { > p = getenv("PROC_ROOT") ? : "/proc"; > snprintf(store, sizeof(store)-1, "%s/%s", p, name); > p = store; > } > > return fopen(p, "r"); > } > > PROC_ROOT can be something longer than 128 and cause other segfault. If you have a reproducer for this problem, then please open a new bug. This is different problem. Reply at: https://bugs.launchpad.net/ubuntu/+source/iproute/+bug/225573/comments/11 On 2009-06-09T07:55:40+00:00 Roberto wrote: (In reply to comment #8) > (In reply to comment #7) > > In the function: > > > > static FILE *generic_proc_open(const char *env, const char *name) > > { > > char store[128]; > > const char *p = getenv(env); > > FILE *fp; > > if (!p) { > > p = getenv("PROC_ROOT") ? : "/proc"; > > snprintf(store, sizeof(store)-1, "%s/%s", p, name); > > p = store; > > } > > > > return fopen(p, "r"); > > } > > > > PROC_ROOT can be something longer than 128 and cause other segfault. > > If you have a reproducer for this problem, then please open a new bug. This is > different problem. I didn't see (i'm blind..) the snprintf out of bound comprobation and the segfault was produced because the content of PROC_ROOT was an invalid path (you fixed it in the last attachment). Sorry. Reply at: https://bugs.launchpad.net/ubuntu/+source/iproute/+bug/225573/comments/12 On 2009-10-21T11:04:45+00:00 errata-xmlrpc wrote: An advisory has been issued which should help the problem
[Bug 225573] Re: iproute: ss -u segfaults if ipv6 module is not loaded
Fixed in Ubuntu 12.04 ** Changed in: iproute (Ubuntu) Status: New = Fix Released -- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/225573 Title: iproute: ss -u segfaults if ipv6 module is not loaded To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/iproute/+bug/225573/+subscriptions -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 225573] Re: iproute: ss -u segfaults if ipv6 module is not loaded
** Tags added: ipv6 -- iproute: ss -u segfaults if ipv6 module is not loaded https://bugs.launchpad.net/bugs/225573 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 225573] Re: iproute: ss -u segfaults if ipv6 module is not loaded
** Changed in: iproute (CentOS) Status: Unknown = Fix Released -- iproute: ss -u segfaults if ipv6 module is not loaded https://bugs.launchpad.net/bugs/225573 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 225573] Re: iproute: ss -u segfaults if ipv6 module is not loaded
I just found the same bug was tracked in Red Hat Enterprise Bugzilla. It was fixed one month ago with this errata: http://rhn.redhat.com/errata/RHBA-2009-1520.html ** Bug watch added: Red Hat Bugzilla #493578 https://bugzilla.redhat.com/show_bug.cgi?id=493578 ** Also affects: iproute (CentOS) via https://bugzilla.redhat.com/show_bug.cgi?id=493578 Importance: Unknown Status: Unknown -- iproute: ss -u segfaults if ipv6 module is not loaded https://bugs.launchpad.net/bugs/225573 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 225573] Re: iproute: ss -u segfaults if ipv6 module is not loaded
The RH errata refers to the same upstream commit that I earlier wrote about That commit was part of the iproute version shipped with Intrepid (and later). -- iproute: ss -u segfaults if ipv6 module is not loaded https://bugs.launchpad.net/bugs/225573 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 225573] Re: iproute: ss -u segfaults if ipv6 module is not loaded
Running PROC_NET_UDP6=/foobar/non-exist ss -un works just fine. The problem is not about a missing proc file. Jukka: Could you please get a gdb backtrace? strace is mostly useless for hunting down segmentation faults. To get a useful backtrace you most likely need to rebuild with debugging symbols. Try this: apt-get install build-essential cd /tmp apt-get source iproute cd iproute-* apt-get build-dep iproute make gdb ./misc/ss set args -un run bt -- iproute: ss -u segfaults if ipv6 module is not loaded https://bugs.launchpad.net/bugs/225573 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 225573] Re: iproute: ss -u segfaults if ipv6 module is not loaded
Here it is (I modified CCOPTS in the Makefile to replace -O2 by -g to get line numbers): #0 0xb7f8eb45 in fgets () from /lib/tls/i686/cmov/libc.so.6 #1 0x0804c6ff in generic_record_read (fp=0x0, worker=0x804dc35 dgram_show_line, f=0x805af50, fam=10) at ss.c:1233 #2 0x0804e216 in udp_show (f=0x805af50) at ss.c:1786 #3 0x08050d59 in main (argc=0, argv=0xbf9ccecc) at ss.c:2774 I think the problem is in the pointer comparison at ss.c:1785: if ((f-families(1AF_INET6)) (fp = net_udp6_open()) = 0) { I changed this to if ((f-families(1AF_INET6)) (fp = net_udp6_open()) != NULL) { and the problem went away. There is similar bug in ss.c:1777, too: if (f-families(1AF_INET)) { if ((fp = net_udp_open()) 0) Indeed trying PROC_NET_UDP=/foo/bar ./misc/ss -un segfaulted. Changing above to: if (f-families(1AF_INET)) { if ((fp = net_udp_open()) == NULL) fixed also that problem. -- iproute: ss -u segfaults if ipv6 module is not loaded https://bugs.launchpad.net/bugs/225573 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 225573] Re: iproute: ss -u segfaults if ipv6 module is not loaded
Thanks Jukka! I'm on a newer version of iproute and those exact changes seems to have already been made there, that's why I couldn't reproduce. Upstream commit: http://git.kernel.org/?p=linux/kernel/git/shemminger/iproute2.git;a=commitdiff;h=69cae645 In other words, this is already fixed in newer iproute releases. -- iproute: ss -u segfaults if ipv6 module is not loaded https://bugs.launchpad.net/bugs/225573 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
[Bug 225573] Re: iproute: ss -u segfaults if ipv6 module is not loaded
** Attachment added: strace listing for a failing command http://launchpadlibrarian.net/14082530/strace.txt -- iproute: ss -u segfaults if ipv6 module is not loaded https://bugs.launchpad.net/bugs/225573 You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. -- ubuntu-bugs mailing list ubuntu-bugs@lists.ubuntu.com https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs