Yes, it looks like g_dbus_connection_unregister_object() hangs:
508 static void 509 bus_entry_free (gpointer data) 510 { 511 BusEntry *entry = data; 512 513 g_debug("%s: calling g_dbus_connection_unregister_object", __func__); 514 g_dbus_connection_unregister_object (bus, entry->bus_id); 515 516 g_debug("%s: calling g_dbus_connection_emit_signal", __func__); 517 g_dbus_connection_emit_signal (bus, 518 NULL, 519 "/org/freedesktop/DisplayManager", 520 "org.freedesktop.DisplayManager", 521 entry->removed_signal, 522 g_variant_new ("(o)", entry->path), 523 NULL); 524 525 g_debug("%s: calling g_free (entry->path)", __func__); 526 g_free (entry->path); 527 g_debug("%s: calling g_free (entry->parent_path)", __func__); 528 g_free (entry->parent_path); 529 g_debug("%s: calling g_free (entry->removed_signal)", __func__); 530 g_free (entry->removed_signal); 531 g_debug("%s: calling g_free (entry)", __func__); 532 g_free (entry); 533 g_debug("%s: return", __func__); 534 }
[+31.86s] DEBUG: Got signal 15 from process 2438 [+31.86s] DEBUG: Caught Terminated signal, shutting down [+31.86s] DEBUG: Stopping display manager [+31.86s] DEBUG: Stopping seat [+31.86s] DEBUG: Stopping display [+31.86s] DEBUG: Session 2075: Sending SIGTERM [+31.87s] DEBUG: Greeter closed communication channel [+31.87s] DEBUG: Session 2075 exited with return value 0 [+31.87s] DEBUG: Greeter quit [+31.87s] DEBUG: Sending signal 15 to process 2070 [+32.14s] DEBUG: Process 2070 exited with return value 0 [+32.15s] DEBUG: X server stopped [+32.15s] DEBUG: Removing X server authority /var/run/lightdm/root/:0 [+32.15s] DEBUG: Releasing VT 7 [+32.15s] DEBUG: Display server stopped [+32.15s] DEBUG: Display stopped [+32.15s] DEBUG: Seat stopped [+32.15s] DEBUG: Display manager stopped [+32.15s] DEBUG: Stopping daemon [+32.15s] DEBUG: bus_entry_free: calling g_dbus_connection_unregister_object
Nothing more is printed, so presumably g_dbus_connection_unregister_object() hangs.
Yes, it looks like g_dbus_ connection_ unregister_ object( ) hangs:
508 static void connection_ unregister_ object" , __func__); connection_ unregister_ object (bus, entry->bus_id); connection_ emit_signal" , __func__); connection_ emit_signal (bus, op/DisplayManag er", p.DisplayManage r", removed_ signal, >parent_ path)", __func__); >parent_ path); >removed_ signal) ", __func__); >removed_ signal) ;
509 bus_entry_free (gpointer data)
510 {
511 BusEntry *entry = data;
512
513 g_debug("%s: calling g_dbus_
514 g_dbus_
515
516 g_debug("%s: calling g_dbus_
517 g_dbus_
518 NULL,
519 "/org/freedeskt
520 "org.freedeskto
521 entry->
522 g_variant_new ("(o)", entry->path),
523 NULL);
524
525 g_debug("%s: calling g_free (entry->path)", __func__);
526 g_free (entry->path);
527 g_debug("%s: calling g_free (entry-
528 g_free (entry-
529 g_debug("%s: calling g_free (entry-
530 g_free (entry-
531 g_debug("%s: calling g_free (entry)", __func__);
532 g_free (entry);
533 g_debug("%s: return", __func__);
534 }
[+31.86s] DEBUG: Got signal 15 from process 2438 lightdm/ root/:0 connection_ unregister_ object
[+31.86s] DEBUG: Caught Terminated signal, shutting down
[+31.86s] DEBUG: Stopping display manager
[+31.86s] DEBUG: Stopping seat
[+31.86s] DEBUG: Stopping display
[+31.86s] DEBUG: Session 2075: Sending SIGTERM
[+31.87s] DEBUG: Greeter closed communication channel
[+31.87s] DEBUG: Session 2075 exited with return value 0
[+31.87s] DEBUG: Greeter quit
[+31.87s] DEBUG: Sending signal 15 to process 2070
[+32.14s] DEBUG: Process 2070 exited with return value 0
[+32.15s] DEBUG: X server stopped
[+32.15s] DEBUG: Removing X server authority /var/run/
[+32.15s] DEBUG: Releasing VT 7
[+32.15s] DEBUG: Display server stopped
[+32.15s] DEBUG: Display stopped
[+32.15s] DEBUG: Seat stopped
[+32.15s] DEBUG: Display manager stopped
[+32.15s] DEBUG: Stopping daemon
[+32.15s] DEBUG: bus_entry_free: calling g_dbus_
Nothing more is printed, so presumably g_dbus_ connection_ unregister_ object( ) hangs.