[libvirt] [PATCH 0/8] Refactor event state handling to fix crash

Alex Jia ajia at redhat.com
Wed Dec 14 03:36:27 UTC 2011


On 12/14/2011 11:05 AM, Alex Jia wrote:
> Hi Daniel,
> I also met similar issue when I ran libvirt unit test yesterday,
> In addition, the case 'read-bufsiz' will be hung forever unless
s/read-bufsiz/read-non-seekable/
> typing ctrl+c to sends a SIGINT signal to the process.
>
> <snip>
> PASS: read-bufsiz
> FAIL: read-non-seekable
> PASS: start
> ./undefine: line 49: 26790 Segmentation fault      (core dumped) $abs_top_builddir/tools/virsh -q -c test:///default 'dominfo 1; undefine 1; dominfo 1'>  out1 2>&1
> --- exp 2011-12-13 15:22:59.076222906 +0800
> </snip>
>
>
> Regards,
> Alex
>
> ----- Original Message -----
> From: "Daniel P. Berrange"<berrange at redhat.com>
> To: libvir-list at redhat.com
> Sent: Wednesday, December 14, 2011 8:38:17 AM
> Subject: [libvirt] [PATCH 0/8] Refactor event state handling to fix crash
>
> When running
>
>       while true ; do date ; ../tools/virsh -q -c test:///default 'shutdown test; undefine test; dominfo test' ; done
>
> we often experiance hangs or crashes or memory corruption in
> glibc. The reason is that when the virConnectPtr is free'd this
> in turn frees the event state, which in turn unregisters the
> event timer. The timer may, however, still fire one last time
> and it is possible this occurs after the event state has been
> freed.
>
> The solution in this series is to only register the timer when
> the first callback is added and unregister the timer, when the
> last callback is removed.
>
> In doing this patch, I decide to unify more of the event handling
> across drivers, and simplify the API usage by drivers, and hide
> all the impl details.
>
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list
>
> --
> libvir-list mailing list
> libvir-list at redhat.com
> https://www.redhat.com/mailman/listinfo/libvir-list




More information about the libvir-list mailing list