getifaddrs calls abort() when interrupted

Bug #578557 reported by Sten Spans
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
eglibc (Ubuntu)
New
Undecided
Unassigned

Bug Description

getifaddrs is a function to fetch a list of network interfaces. The version provided by eglibc in lucid and earlier has a know bug where it will call abort() when interfaces are added/removed during the getifaddrs operation. This is somewhat problematic because it will cause daemons to exit, and can be triggerd by for example stopping / starting virtual machines. This problem has been seen under real-world conditions and will lead to the following gdb trace:

#0 0x00007fd2727604b5 in *__GI_raise (sig=<value optimized out>)
    at ../nptl/sysdeps/unix/sysv/linux/raise.c:64
#1 0x00007fd272763f50 in *__GI_abort () at abort.c:92
#2 0x00007fd27282e9d8 in map_newlink (ifap=<value optimized out>)
    at ../sysdeps/unix/sysv/linux/ifaddrs.c:320
#3 *__GI_getifaddrs (ifap=<value optimized out>)
    at ../sysdeps/unix/sysv/linux/ifaddrs.c:751
#4 0x0000000000407987 in netif_fetch (ifc=<value optimized out>,
    ifl=<value optimized out>, sysinfo=0x616c40, netifs=0x616c20)
    at netif.c:140

The upstream fix is at: http://sourceware.org/git/?p=glibc.git;a=commitdiff;h=b8b14c4cc38883032b8ebae50c9a8b3efd256483
The upstream bug is at: http://sourceware.org/bugzilla/show_bug.cgi?id=11387

ii libc6 2.11.1-0ubuntu7 Embedded GNU C Library: Shared libraries
Description: Ubuntu 10.04 LTS
Release: 10.04

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.