FS#35113 - [mtr] segfault

Attached to Project: Arch Linux
Opened by Dmitry Korzhevin (dkorzhevin) - Monday, 06 May 2013, 10:48 GMT
Last edited by Dave Reisner (falconindy) - Tuesday, 24 December 2013, 14:49 GMT
Task Type Bug Report
Category Packages: Extra
Status Closed
Assigned To Ionut Biru (wonder)
Architecture x86_64
Severity High
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 3
Private No

Details

Description:

Each time i use mtr - it segfaults. I use mtr 0.84-1 x86_64

Steps to reproduce:

mtr domain

I attach strace log
This task depends upon

Closed by  Dave Reisner (falconindy)
Tuesday, 24 December 2013, 14:49 GMT
Reason for closing:  Fixed
Additional comments about closing:  mtr 0.85
Comment by Dmitry Korzhevin (dkorzhevin) - Monday, 06 May 2013, 10:53 GMT
mtr segfaults, even if u run it from root user.
Comment by Dmitry Korzhevin (dkorzhevin) - Monday, 06 May 2013, 10:54 GMT Comment by phanisvara das (phani00) - Monday, 06 May 2013, 12:34 GMT
doesn't happen to me; mtr works fine as root and normal user. same version of mtr (0.84-1) from [extra], even though it claims to be ver. 0.83 when queried by "mtr -v". are your other packages up-to-date, particularly glib2 ?
Comment by Dave Reisner (falconindy) - Monday, 06 May 2013, 13:17 GMT
Your strace is useless -- mtr is a setuid binary which is no longer setuid when run via strace. If you'd read your own strace, you'd see that it exits "normally" after failing to call socket(PF_INET, SOCK_RAW, IPPROTO_RAW).

Additionally, stack traces are generally worthless for debugging crashes. A proper backtrace from gdb after rebuilding mtr with debug symbols would actually be useful.
Comment by Dmitry Korzhevin (dkorzhevin) - Monday, 06 May 2013, 16:01 GMT
Seems, mtr doesn't work with IPv6 as expected..

ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 172.21.0.116 netmask 255.255.255.0 broadcast 172.21.0.255
inet6 fe80::1ec1:deff:fe0b:17d8 prefixlen 64 scopeid 0x20<link>
inet6 2a02:2278:70eb:101:1ec1:deff:fe0b:17d8 prefixlen 64 scopeid 0x0<global>
ether 1c:c1:de:0b:17:d8 txqueuelen 1000 (Ethernet)
RX packets 1572745 bytes 2138243687 (1.9 GiB)
RX errors 0 dropped 3290 overruns 0 frame 0
TX packets 792803 bytes 71035457 (67.7 MiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 0 (Local Loopback)
RX packets 1832 bytes 63518 (62.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1832 bytes 63518 (62.0 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0

In error i see, that mtr crash after request to localhost IPv6 loopback: localhost (::)

Will dig more..
Comment by Andrew Cowie (afcowie) - Thursday, 20 June 2013, 13:39 GMT
You sure it isn't https://github.com/traviscross/mtr/pull/5 which has to do with both IPv4 and IPv6 addresses in /etc/resolv.conf causing mtr to segfault?

AfC
Comment by petrus (petrus_lt) - Thursday, 20 June 2013, 21:05 GMT
Andrew & Ionut : Arch package should be rebuilt to include commit #cece39e. mtr is currently unusable for some users.
Comment by Andrew Cowie (afcowie) - Friday, 21 June 2013, 01:15 GMT
I built mtr from upstream source and HEAD works fine.

AfC
Comment by petrus (petrus_lt) - Friday, 21 June 2013, 21:27 GMT
Andrew: Without any ipv6 resolvers, or without doing any dns queries (ie mtr -n <ip>), mtr doesn't segfaults. But this is not really a workaround.
Comment by petrus (petrus_lt) - Sunday, 30 June 2013, 13:10 GMT
According to [1], mtr 0.85 fixes the segfault when having ipv6 resolvers. Can someone update the mtr arch package?

Thanks.

[1] ftp://ftp.bitwizard.nl/mtr/mtr-0.85.diff

Loading...