libvirtd crashes with double free or corruption (out)
Bug #1602264 reported by
Tom Eichhorn
This bug affects 2 people
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
libnss-extrausers (Ubuntu) |
Confirmed
|
Undecided
|
Unassigned |
Bug Description
I saw libvirtd crash with the attached error when someone tried to start a VM via openstack nova.
Anyone with hints howto debug this further?
Thanks,
Tom
To post a comment you must log in.
I'm pretty sure this bug is actually in libnss-extrausers (see top of stack trace).
libvirtd is trying a getgrouplist, which is calling out to the various NSS modules through glibc.
In libnss-extrausers, this construct in group.c:
static FILE *groupsfile = NULL;
[...]
enum nss_status _nss_extrausers _endgrent( void) {
fclose( groupsfile) ;
groupsfile = NULL;
if (groupsfile != NULL) {
}
return NSS_STATUS_SUCCESS;
}
is obviously not in any way thread safe, even though the module advertises itself as reentrant.