getifaddrs calls abort() when interrupted
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/
#1 0x00007fd272763f50 in *__GI_abort () at abort.c:92
#2 0x00007fd27282e9d8 in map_newlink (ifap=<value optimized out>)
at ../sysdeps/
#3 *__GI_getifaddrs (ifap=<value optimized out>)
at ../sysdeps/
#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://
The upstream bug is at: http://
ii libc6 2.11.1-0ubuntu7 Embedded GNU C Library: Shared libraries
Description: Ubuntu 10.04 LTS
Release: 10.04