[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
On Wed, 2014-11-26 at 17:38 +0000, Ian Jackson wrote: > Ian Campbell writes ("Re: [Xen-devel] segv in osevent_release_nexus with > libxl backend to libvirt"): > > I don't know if this helps but on the 3 occasions I've just looked at > > the ev passed to libxl__ev_fd_deregister contains an fd which > > corresponds to a still open handle on /dev/xen/evtchn. > > I see what is going on, I think. The rules in libxl_event.h about > when one can call libxl_event_register_callbacks are (a) impossibly > lax and (b) not implemented even as far as possible. The crash is due > to the evtchn fd having been set up during libxl initialisation (while > hooks==0) and therefore not having a `nexus', but being deregistered > later. > > AFAICT libvirt doesn't (I think) depend on anything which is > particularly difficult to implement. It seems to call > libxl_event_register_callbacks in a relatively quiescent state. > > I have prepared a set of patches which may help. They are at > xenbits.xen.org:ext/xen.git#for-ijc. AKA git://xenbits.xen.org/people/iwj/xen.git for those of us without your shell account ;-) I tried this but on destroy with libvirt I get: libvirtd: libxl.c:168: libxl_ctx_free: Assertion `!libxl__ev_fd_isregistered(&ctx->sigchld_selfpipe_efd)' failed. Program received signal SIGABRT, Aborted. [Switching to Thread 0xb57f9420 (LWP 7188)] 0xb6ab7f96 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6 (gdb) bt #0 0xb6ab7f96 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6 #1 0xb6ac5f8a in raise () from /lib/arm-linux-gnueabihf/libc.so.6 #2 0xb6ac8428 in abort () from /lib/arm-linux-gnueabihf/libc.so.6 #3 0xb6ac101e in __assert_fail () from /lib/arm-linux-gnueabihf/libc.so.6 #4 0xb16a48f4 in libxl_ctx_free (ctx=0xb6b7bbec) at libxl.c:168 #5 0xb171814e in libxlDomainObjPrivateDispose () from /opt/libvirt/lib/libvirt/connection-driver/libvirt_driver_libxl.so #6 0xb6c69176 in virObjectUnref () from /opt/libvirt/lib/libvirt.so.0 #7 0xb17181d2 in libxlDomainObjPrivateFree () from /opt/libvirt/lib/libvirt/connection-driver/libvirt_driver_libxl.so #8 0xb6c9c0da in virDomainObjDispose () from /opt/libvirt/lib/libvirt.so.0 #9 0xb6c69176 in virObjectUnref () from /opt/libvirt/lib/libvirt.so.0 #10 0xb6c9ca26 in virDomainObjListRemove () from /opt/libvirt/lib/libvirt.so.0 #11 0xb171c548 in libxlDomainDestroyFlags () and similarly on create with xl I see: xl: libxl.c:168: libxl_ctx_free: Assertion `!libxl__ev_fd_isregistered(&ctx->sigchld_selfpipe_efd)' failed. Program received signal SIGABRT, Aborted. 0xb6e10f96 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6 (gdb) bt #0 0xb6e10f96 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6 #1 0xb6e1ef8a in raise () from /lib/arm-linux-gnueabihf/libc.so.6 #2 0xb6e21428 in abort () from /lib/arm-linux-gnueabihf/libc.so.6 #3 0xb6e1a01e in __assert_fail () from /lib/arm-linux-gnueabihf/libc.so.6 #4 0xb6f628f4 in libxl_ctx_free (ctx=0xb6ed4bec) at libxl.c:168 #5 0x0000daa0 in xl_ctx_free () at xl.c:283 #6 0xb6e22426 in ?? () from /lib/arm-linux-gnueabihf/libc.so.6 #7 0xb6e10cfe in __libc_start_main () from /lib/arm-linux-gnueabihf/libc.so.6 #8 0x0000da26 in _start () Ian. _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |