Re: [libvirt-glib 5/5] mainloop: don't reschedule deleted timeouts/watches

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

 



On Mon, Jun 25, 2012 at 01:04:30PM +0200, Christophe Fergeau wrote:
> It happens at more or less random times, so I'm not sure if I'll be able to
> catch a backtrace when the watch is removed.

Luckily watches don't get removed very often, so I managed to catch both
the remove and the following update in gdb:


Breakpoint 1, gvir_event_handle_remove (watch=1) at
libvirt-glib-event.c:276
276     {
(gdb) bt
#0  gvir_event_handle_remove (watch=1) at libvirt-glib-event.c:276
#1  0x00007ffff5f4013a in virEventRemoveHandle (watch=1) at util/event.c:84
#2  0x00007ffff6082498 in virNetSocketRemoveIOCallback
(sock=0x7fffdc001fe0)
    at rpc/virnetsocket.c:1399
#3  0x00007ffff606ec96 in virNetClientIncomingEvent (sock=0x7fffdc001fe0,
    events=2, opaque=0x7fffdc001e20) at rpc/virnetclient.c:1647
#4  0x00007ffff608213c in virNetSocketEventHandle (watch=1, fd=26,
events=2,
    opaque=0x7fffdc001fe0) at rpc/virnetsocket.c:1314
#5  0x00007ffff66708cd in gvir_event_handle_dispatch
(source=0x7fffdc001f60,
    condition=G_IO_OUT, opaque=0x7fffdc001930) at libvirt-glib-event.c:136
#6  0x00007ffff1e20cb4 in g_io_unix_dispatch (source=0x7fffb8002c00,
    callback=0x7ffff66707f8 <gvir_event_handle_dispatch>,
    user_data=0x7fffdc001930) at giounix.c:166
#7  0x00007ffff1dd1f15 in g_main_dispatch (context=0x6fea30) at
gmain.c:2539
#8  0x00007ffff1dd2bda in g_main_context_dispatch (context=0x6fea30)
    at gmain.c:3075
#9  0x00007ffff1dd2dbd in g_main_context_iterate (context=0x6fea30,
block=1,
    dispatch=1, self=0x1582780) at gmain.c:3146
#10 0x00007ffff1dd2e81 in g_main_context_iteration (context=0x6fea30,
    may_block=1) at gmain.c:3207
#11 0x00007ffff25dbe7c in g_application_run (application=0x709890, argc=0,
    argv=0x0) at gapplication.c:1607
#12 0x000000000041dec8 in boxes_app_run (self=0x1525010) at app.c:1187
#13 0x00000000004506f4 in _vala_main (args=0x7fffffffd738, args_length1=1)
    at main.c:729
#14 0x000000000045075e in main (argc=1, argv=0x7fffffffd738) at main.c:740
(gdb) c
Continuing.
[Thread 0x7fffd5853700 (LWP 30606) exited]

Program received signal SIGTRAP, Trace/breakpoint trap.
gvir_event_handle_find (watch=1) at libvirt-glib-event.c:202
202             if ((h->watch == watch) && !h->removed) {
(gdb) bt
#0  gvir_event_handle_find (watch=1) at libvirt-glib-event.c:202
#1  0x00007ffff6670b78 in gvir_event_handle_update (watch=1, events=1)
    at libvirt-glib-event.c:218
#2  0x00007ffff5f400e9 in virEventUpdateHandle (watch=1, events=1)
    at util/event.c:70
#3  0x00007ffff60823f1 in virNetSocketUpdateIOCallback
(sock=0x7fffdc001fe0,
    events=1) at rpc/virnetsocket.c:1384
#4  0x00007ffff606e74e in virNetClientIOUpdateCallback
(client=0x7fffdc001e20,
    enableCallback=true) at rpc/virnetclient.c:1454
#5  0x00007ffff606ecec in virNetClientIncomingEvent (sock=0x7fffdc001fe0,
    events=2, opaque=0x7fffdc001e20) at rpc/virnetclient.c:1659
#6  0x00007ffff608213c in virNetSocketEventHandle (watch=1, fd=26,
events=2,
    opaque=0x7fffdc001fe0) at rpc/virnetsocket.c:1314
#7  0x00007ffff66708cd in gvir_event_handle_dispatch
(source=0x7fffdc001f60,
    condition=G_IO_OUT, opaque=0x7fffdc001930) at libvirt-glib-event.c:136
#8  0x00007ffff1e20cb4 in g_io_unix_dispatch (source=0x7fffb8002c00,
    callback=0x7ffff66707f8 <gvir_event_handle_dispatch>,
    user_data=0x7fffdc001930) at giounix.c:166
#9  0x00007ffff1dd1f15 in g_main_dispatch (context=0x6fea30) at
gmain.c:2539
#10 0x00007ffff1dd2bda in g_main_context_dispatch (context=0x6fea30)
    at gmain.c:3075
#11 0x00007ffff1dd2dbd in g_main_context_iterate (context=0x6fea30,
block=1,
    dispatch=1, self=0x1582780) at gmain.c:3146
#12 0x00007ffff1dd2e81 in g_main_context_iteration (context=0x6fea30,
    may_block=1) at gmain.c:3207
#13 0x00007ffff25dbe7c in g_application_run (application=0x709890, argc=0,
    argv=0x0) at gapplication.c:1607
#14 0x000000000041dec8 in boxes_app_run (self=0x1525010) at app.c:1187
#15 0x00000000004506f4 in _vala_main (args=0x7fffffffd738, args_length1=1)
    at main.c:729
#16 0x000000000045075e in main (argc=1, argv=0x7fffffffd738) at main.c:740
(gdb)

Hope that helps,

Christophe

Attachment: pgpH50T4eCCHl.pgp
Description: PGP signature

--
libvir-list mailing list
libvir-list@xxxxxxxxxx
https://www.redhat.com/mailman/listinfo/libvir-list

[Index of Archives]     [Virt Tools]     [Libvirt Users]     [Lib OS Info]     [Fedora Users]     [Fedora Desktop]     [Fedora SELinux]     [Big List of Linux Books]     [Yosemite News]     [KDE Users]     [Fedora Tools]