[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Xen-devel] segv in osevent_release_nexus with libxl backend to libvirt



(adding xen-devel which I forgot first time around)

On Wed, 2014-11-26 at 15:21 +0000, Ian Jackson wrote:
> Ian Campbell writes ("segv in osevent_release_nexus with libxl backend to 
> libvirt"):
> > I'm seeing quite a few of these when shutting down domains:
> ...
> > This is on ARM but I don't think this appears to be arch specific at
> > first glance. The bit from virObjectUnref->SEGV appears to be the same
> > each time, but the leadin can be different:
> ...       
> > Perhaps that's just an artefact of the reference counting dropping to to
> > zero in a different order not really relevant.
> 
> Having looked at this, I think that this is because libxl_ctx_free is
> being reentered on the same ctx.
> 
> Below is a tiny patch to libxl which ought to crash on this earlier.
> Ian C, can you try it ?  If this catches anything it will probably
> show a path in libvirt where a libxl call is made without taking a ref
> on the vm object.

With this I am seeing:
        Program received signal SIGSEGV, Segmentation fault.
        0xb16d2fd8 in osevent_release_nexus (gc=0xbefff51c, 
nexi_idle=0x2a09701c, nexus=0x0) at libxl_event.c:119
        119     libxl_event.c: No such file or directory.
        (gdb) bt
        #0  0xb16d2fd8 in osevent_release_nexus (gc=0xbefff51c, 
nexi_idle=0x2a09701c, nexus=0x0) at libxl_event.c:119
        #1  0xb16d3b14 in osevent_hook_pre_release (nexus=0x2a097074, 
nexi_idle=<optimized out>, ev=0x2a097060, gc=0xbefff51c) at libxl_event.c:149
        #2  libxl__ev_fd_deregister (gc=0xbefff51c, ev=0x2a097060) at 
libxl_event.c:231
        #3  0xb16a4858 in libxl_ctx_free (ctx=0x2a096fa8) at libxl.c:168
        #4  0xb171814e in libxlDomainObjPrivateDispose () from 
/opt/libvirt/lib/libvirt/connection-driver/libvirt_driver_libxl.so
        #5  0xb6c69176 in virObjectUnref () from /opt/libvirt/lib/libvirt.so.0
        #6  0xb1717696 in libxlDomainObjTimerEventHookInfoFree () from 
/opt/libvirt/lib/libvirt/connection-driver/libvirt_driver_libxl.so
        #7  0xb6c3eae4 in virEventPollCleanupTimeouts () from 
/opt/libvirt/lib/libvirt.so.0
        #8  0xb6c3f0f2 in virEventPollRunOnce () from 
/opt/libvirt/lib/libvirt.so.0
        #9  0xb6c3d2fc in virEventRunDefaultImpl () from 
/opt/libvirt/lib/libvirt.so.0
        #10 0x2a05495a in virNetServerRun ()
        #11 0x2a01297c in main ()
        

I don't think this is what you were hoping for :-/

Ian.


_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel


 


Rackspace

Lists.xenproject.org is hosted with RackSpace, monitoring our
servers 24x7x365 and backed by RackSpace's Fanatical Support®.