Bug 981975 - Can't reconnect display to spice-based VMs without restarting virt-manager
Can't reconnect display to spice-based VMs without restarting virt-manager
Status: CLOSED UPSTREAM
Product: Virtualization Tools
Classification: Community
Component: virt-manager (Show other bugs)
unspecified
x86_64 Linux
unspecified Severity high
: ---
: ---
Assigned To: Cole Robinson
:
: 985028 (view as bug list)
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2013-07-07 08:26 EDT by Simon Cadman
Modified: 2013-08-17 11:13 EDT (History)
6 users (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-07-09 17:51:43 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)
Patch to remove display from "console-gfx-viewport" if already set (593 bytes, patch)
2013-07-07 08:26 EDT, Simon Cadman
no flags Details | Diff
debugging patch (1.32 KB, text/plain)
2013-07-09 14:57 EDT, Cole Robinson
no flags Details
another debugging patch (1.71 KB, text/plain)
2013-07-09 15:37 EDT, Cole Robinson
no flags Details

  None (edit)
Description Simon Cadman 2013-07-07 08:26:19 EDT
Created attachment 769965 [details]
Patch to remove display from "console-gfx-viewport" if already set

Description of problem:
Viewing the console of a running ( or newly started ) VM works correctly the first time, but when closing the virtual machine details window and re-opening the VM's console display gets 'stuck' and does not update.

Version-Release number of selected component (if applicable):
0.10.0 and latest master from git

How reproducible:
Every time with Spice-based VMs, VNC based VMs appear fine

Steps to Reproduce:
1. Double-click on VM within virt-manager
2. Observe that VM console displays correctly, updates correctly etc
3. Close window that appears with VM console
4. Double-click on same VM within virt-manager

Actual results:
VM console does not display correctly, does not update. Appears to be stuck showing image that display had when window closed in step 3 above.

Expected results:
VM console updates correctly.

Additional info:


With --debug flag, first time showing console shows:

2013-07-07 13:08:55,479 (details:572): Showing VM details: <vmmDomain object at 0x2452370 (virtManager+domain+vmmDomain at 0x3b6eb60)>
2013-07-07 13:08:55,614 (engine:329): window counter incremented to 2
2013-07-07 13:08:55,618 (console:1137): Starting connect process for proto=spice trans=None connhost=localhost connuser=None connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
2013-07-07 13:08:55,619 (console:560): spice uri: spice://127.0.0.1?port=5900
2013-07-07 13:08:55,880 (console:1052): Viewer connected

(virt-manager:24146): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:24146): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
2013-07-07 13:08:55,896 (console:1052): Viewer connected

Second time shows:

2013-07-07 13:11:03,418 (details:572): Showing VM details: <vmmDomain object at 0x2452370 (virtManager+domain+vmmDomain at 0x3b6eb60)>
2013-07-07 13:11:03,421 (engine:329): window counter incremented to 2
2013-07-07 13:11:03,426 (console:1137): Starting connect process for proto=spice trans=None connhost=localhost connuser=None connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
2013-07-07 13:11:03,426 (console:560): spice uri: spice://127.0.0.1?port=5900

(virt-manager:24146): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:24146): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
2013-07-07 13:11:03,582 (console:1052): Viewer connected

(virt-manager:24146): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:24146): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
2013-07-07 13:11:03,595 (console:1052): Viewer connected

(virt-manager:24146): GSpice-CRITICAL **: recv hdr: Connection reset by peer

Workaround patch attached that seems to fix it ( and also removes the 'Gtk-CRITICAL' errors ), it just removes the display from the "console-gfx-viewport" widget if display is already set, I suspect the correct fix would be to ensure that the widget has the display removed from it when closing the console window though.

Thanks
Comment 1 Cole Robinson 2013-07-08 18:22:27 EDT
Thanks for the report and the patch, but I'm not seeing this on F19. What distro are you on?

Can you verify with upstream?

git clone git://git.fedorahosted.org/virt-manager.git
cd virt-manager
./virt-manager --debug
Comment 2 Patrick McLean 2013-07-09 14:16:30 EDT
I am also experiencing this problem. I am on Gentoo, and the patch seems to fix it for me.

Upstream git has the same issue, here is the log output from upstream:

[Tue, 09 Jul 2013 11:11:56 virt-manager 9827] DEBUG (connection:513) Connection managed save support: True
[Tue, 09 Jul 2013 11:11:56 virt-manager 9827] DEBUG (connection:161) Using libvirt API for netdev enumeration
[Tue, 09 Jul 2013 11:11:56 virt-manager 9827] DEBUG (connection:183) Using libvirt API for mediadev enumeration
[Tue, 09 Jul 2013 11:11:57 virt-manager 9827] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x1fc92d0 (virtManager+domain+vmmDomain at 0x1e52e80)>
[Tue, 09 Jul 2013 11:11:57 virt-manager 9827] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 11:11:57 virt-manager 9827] DEBUG (console:1219) Starting connect process for proto=spice trans=ssh connhost=HOSTNAME connuser=root connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 11:11:57 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:11:57 virt-manager 9827] DEBUG (console:185) Tunnel PID=9835 OUTFD=17 ERRFD=19
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:527) Opening tunnel for channel: <DisplayChannel object at 0x1d6bd20 (SpiceDisplayChannel at 0x28df7f0)>
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:185) Tunnel PID=9837 OUTFD=23 ERRFD=25
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:527) Opening tunnel for channel: <CursorChannel object at 0x226d8c0 (SpiceCursorChannel at 0x28b1800)>
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:185) Tunnel PID=9838 OUTFD=24 ERRFD=27
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:1126) Viewer connected
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:527) Opening tunnel for channel: <CursorChannel object at 0x227fb90 (SpiceCursorChannel at 0x28c3000)>
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:185) Tunnel PID=9842 OUTFD=26 ERRFD=29
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:527) Opening tunnel for channel: <DisplayChannel object at 0x227fb90 (SpiceDisplayChannel at 0x28c4c60)>
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:185) Tunnel PID=9843 OUTFD=28 ERRFD=31

(virt-manager:9827): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:9827): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:1126) Viewer connected
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:527) Opening tunnel for channel: <InputsChannel object at 0x227fc30 (SpiceInputsChannel at 0x28c8730)>
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:11:58 virt-manager 9827] DEBUG (console:185) Tunnel PID=9844 OUTFD=30 ERRFD=33
[Tue, 09 Jul 2013 11:12:02 virt-manager 9827] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x1fc92d0 (virtManager+domain+vmmDomain at 0x1e52e80)>
[Tue, 09 Jul 2013 11:12:02 virt-manager 9827] DEBUG (engine:334) window counter decremented to 1
[Tue, 09 Jul 2013 11:12:02 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9835 OUTFD=17 ERRFD=19
[Tue, 09 Jul 2013 11:12:02 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9837 OUTFD=23 ERRFD=25
[Tue, 09 Jul 2013 11:12:02 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9838 OUTFD=24 ERRFD=27
[Tue, 09 Jul 2013 11:12:02 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9842 OUTFD=26 ERRFD=29
[Tue, 09 Jul 2013 11:12:02 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9843 OUTFD=28 ERRFD=31
[Tue, 09 Jul 2013 11:12:02 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9844 OUTFD=30 ERRFD=33
[Tue, 09 Jul 2013 11:12:02 virt-manager 9827] DEBUG (console:1098) Viewer disconnected
[Tue, 09 Jul 2013 11:12:03 virt-manager 9827] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x1fc92d0 (virtManager+domain+vmmDomain at 0x1e52e80)>
[Tue, 09 Jul 2013 11:12:03 virt-manager 9827] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 11:12:03 virt-manager 9827] DEBUG (console:1219) Starting connect process for proto=spice trans=ssh connhost=HOSTNAME connuser=root connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 11:12:03 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:12:03 virt-manager 9827] DEBUG (console:185) Tunnel PID=9848 OUTFD=17 ERRFD=23
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:527) Opening tunnel for channel: <DisplayChannel object at 0x1d6bd20 (SpiceDisplayChannel at 0x22f5170)>
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:185) Tunnel PID=9850 OUTFD=27 ERRFD=29
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:527) Opening tunnel for channel: <CursorChannel object at 0x2286b90 (SpiceCursorChannel at 0x22f4350)>
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:185) Tunnel PID=9851 OUTFD=28 ERRFD=31

(virt-manager:9827): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:9827): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:1126) Viewer connected
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:527) Opening tunnel for channel: <CursorChannel object at 0x2286e10 (SpiceCursorChannel at 0x22f8000)>
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:185) Tunnel PID=9852 OUTFD=30 ERRFD=33
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:527) Opening tunnel for channel: <DisplayChannel object at 0x2286e10 (SpiceDisplayChannel at 0x22f9140)>
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:185) Tunnel PID=9853 OUTFD=32 ERRFD=35

(virt-manager:9827): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:9827): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:1126) Viewer connected
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:527) Opening tunnel for channel: <InputsChannel object at 0x2286e60 (SpiceInputsChannel at 0x2998230)>
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 11:12:04 virt-manager 9827] DEBUG (console:185) Tunnel PID=9854 OUTFD=34 ERRFD=37
[Tue, 09 Jul 2013 11:12:08 virt-manager 9827] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x1fc92d0 (virtManager+domain+vmmDomain at 0x1e52e80)>
[Tue, 09 Jul 2013 11:12:08 virt-manager 9827] DEBUG (engine:334) window counter decremented to 1
[Tue, 09 Jul 2013 11:12:08 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9848 OUTFD=17 ERRFD=23
[Tue, 09 Jul 2013 11:12:08 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9850 OUTFD=27 ERRFD=29
[Tue, 09 Jul 2013 11:12:08 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9851 OUTFD=28 ERRFD=31
[Tue, 09 Jul 2013 11:12:08 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9852 OUTFD=30 ERRFD=33
[Tue, 09 Jul 2013 11:12:08 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9853 OUTFD=32 ERRFD=35
[Tue, 09 Jul 2013 11:12:08 virt-manager 9827] DEBUG (console:203) Shutting down tunnel PID=9854 OUTFD=34 ERRFD=37
[Tue, 09 Jul 2013 11:12:08 virt-manager 9827] DEBUG (console:1098) Viewer disconnected
[Tue, 09 Jul 2013 11:12:12 virt-manager 9827] DEBUG (manager:213) Closing manager
[Tue, 09 Jul 2013 11:12:12 virt-manager 9827] DEBUG (engine:334) window counter decremented to 0
[Tue, 09 Jul 2013 11:12:12 virt-manager 9827] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x1fc92d0 (virtManager+domain+vmmDomain at 0x1e52e80)>
[Tue, 09 Jul 2013 11:12:12 virt-manager 9827] DEBUG (engine:413) Exiting app normally.
Comment 3 Simon Cadman 2013-07-09 14:23:43 EDT
Hi Cole,

As with Patrick, I'm running Gentoo, and upstream without my patch has same issue:

[Tue, 09 Jul 2013 19:21:23 virt-manager 8193] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x18b66e0 (virtManager+domain+vmmDomain at 0x1946580)>
[Tue, 09 Jul 2013 19:21:24 virt-manager 8193] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 19:21:25 virt-manager 8193] DEBUG (engine:891) Starting vm 'Arch_64'
[Tue, 09 Jul 2013 19:21:25 virt-manager 8193] DEBUG (asyncjob:189) Creating async job for function cb=<function tmpcb at 0x1744ed8>
[Tue, 09 Jul 2013 19:21:26 virt-manager 8193] DEBUG (console:1219) Starting connect process for proto=spice trans=None connhost=localhost connuser=None connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 19:21:26 virt-manager 8193] DEBUG (console:587) spice uri: spice://127.0.0.1?port=5900
[Tue, 09 Jul 2013 19:21:26 virt-manager 8193] DEBUG (console:1126) Viewer connected

(virt-manager:8193): GSpice-WARNING **: Warning no automount-inhibiting implementation available

(virt-manager:8193): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:8193): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 19:21:26 virt-manager 8193] DEBUG (console:1126) Viewer connected

(virt-manager:8193): GSpice-CRITICAL **: recv hdr: Connection reset by peer
[Tue, 09 Jul 2013 19:21:28 virt-manager 8193] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x18b66e0 (virtManager+domain+vmmDomain at 0x1946580)>
[Tue, 09 Jul 2013 19:21:28 virt-manager 8193] DEBUG (engine:334) window counter decremented to 1
[Tue, 09 Jul 2013 19:21:29 virt-manager 8193] DEBUG (console:1098) Viewer disconnected
[Tue, 09 Jul 2013 19:21:30 virt-manager 8193] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x18b66e0 (virtManager+domain+vmmDomain at 0x1946580)>
[Tue, 09 Jul 2013 19:21:30 virt-manager 8193] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 19:21:30 virt-manager 8193] DEBUG (console:1219) Starting connect process for proto=spice trans=None connhost=localhost connuser=None connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 19:21:30 virt-manager 8193] DEBUG (console:587) spice uri: spice://127.0.0.1?port=5900

(virt-manager:8193): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:8193): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 19:21:30 virt-manager 8193] DEBUG (console:1126) Viewer connected

(virt-manager:8193): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:8193): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 19:21:30 virt-manager 8193] DEBUG (console:1126) Viewer connected

(virt-manager:8193): GSpice-CRITICAL **: recv hdr: Connection reset by peer


Pressing keys within the broken reconnected window also throws errors like these:

(virt-manager:8193): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:8193): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:8193): GSpice-CRITICAL **: spice_inputs_key_press_and_release: assertion `channel->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:8193): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:8193): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:8193): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:8193): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

Thanks
Comment 4 Cole Robinson 2013-07-09 14:44:55 EDT
Does this only reproduce with a remote connection?
And basically all you're doing is: open VM window, click around in the guest, close VM window, open VM window again, error spew ?
what spice-gtk, gtk3, and pygobject3 versions are installed?
Comment 5 Cole Robinson 2013-07-09 14:46:53 EDT
Whoops, I see now that there are 2 responses, and one was reproducing with a local connection. Still interested in package versions, but I'll poke at it.
Comment 6 Patrick McLean 2013-07-09 14:49:41 EDT
spice-gtk-0.20
gtk+-3.6.3
pygobject-3.4.2

Yes, that is all I am doing (though the guest is in a text console in my case, so it's just typing). After the error spew, the console opens, but is basically a frozen view of whatever was on there before closing it.

Input does seem to work.
Comment 7 Patrick McLean 2013-07-09 14:53:19 EDT
This also happens across guest shutdowns/reboots, I still get a frozen view of whatever was last on the guest's console before rebooting or shutting down.
Comment 8 Simon Cadman 2013-07-09 14:54:45 EDT
I'm using local connection and yes exactly that.

Package versions:

spice-gtk 0.20
gtk3 3.6.3-r2
pygobject3 3.4.2-r1

Thanks
Comment 9 Cole Robinson 2013-07-09 14:57:11 EDT
Created attachment 771194 [details]
debugging patch

Can someone apply this to virt-manager.git, reproduce the issue with --debug, then post everything after the </capabilities> output ?
Comment 10 Simon Cadman 2013-07-09 15:03:22 EDT
[Tue, 09 Jul 2013 20:01:29 virt-manager 9586] DEBUG (connection:513) Connection managed save support: True
[Tue, 09 Jul 2013 20:01:29 virt-manager 9586] DEBUG (connection:161) Using libvirt API for netdev enumeration
[Tue, 09 Jul 2013 20:01:29 virt-manager 9586] DEBUG (connection:183) Using libvirt API for mediadev enumeration
[Tue, 09 Jul 2013 20:01:32 virt-manager 9586] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x372fe60 (virtManager+domain+vmmDomain at 0x3649fa0)>
[Tue, 09 Jul 2013 20:01:32 virt-manager 9586] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 20:01:32 virt-manager 9586] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 20:01:32 virt-manager 9586] DEBUG (console:1221) Starting connect process for proto=spice trans=None connhost=localhost connuser=None connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 20:01:32 virt-manager 9586] DEBUG (console:588) spice uri: spice://127.0.0.1?port=5900
[Tue, 09 Jul 2013 20:01:33 virt-manager 9586] DEBUG (console:1128) Viewer connected

(virt-manager:9586): GSpice-WARNING **: Warning no automount-inhibiting implementation available

(virt-manager:9586): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:9586): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 20:01:33 virt-manager 9586] DEBUG (console:1128) Viewer connected

(virt-manager:9586): GSpice-CRITICAL **: recv hdr: Connection reset by peer
[Tue, 09 Jul 2013 20:01:41 virt-manager 9586] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x372fe60 (virtManager+domain+vmmDomain at 0x3649fa0)>
[Tue, 09 Jul 2013 20:01:41 virt-manager 9586] DEBUG (details:605) details close True <SpiceViewer object at 0x3d405a0 (virtManager+console+SpiceViewer at 0x3e74100)> <Display object at 0x39f57d0 (SpiceDisplay at 0x3f42250)> True
[Tue, 09 Jul 2013 20:01:41 virt-manager 9586] DEBUG (console:977) close_viewer <SpiceViewer object at 0x3d405a0 (virtManager+console+SpiceViewer at 0x3e74100)>
[Tue, 09 Jul 2013 20:01:41 virt-manager 9586] DEBUG (console:502) spice viewer close() <Session object at 0x3d40960 (SpiceSession at 0x3add2c0)> <Display object at 0x39f57d0 (SpiceDisplay at 0x3f42250)>
[Tue, 09 Jul 2013 20:01:41 virt-manager 9586] DEBUG (engine:334) window counter decremented to 1
[Tue, 09 Jul 2013 20:01:41 virt-manager 9586] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 20:01:41 virt-manager 9586] DEBUG (console:1100) Viewer disconnected
[Tue, 09 Jul 2013 20:01:44 virt-manager 9586] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x372fe60 (virtManager+domain+vmmDomain at 0x3649fa0)>
[Tue, 09 Jul 2013 20:01:44 virt-manager 9586] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 20:01:44 virt-manager 9586] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 20:01:44 virt-manager 9586] DEBUG (console:1221) Starting connect process for proto=spice trans=None connhost=localhost connuser=None connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 20:01:44 virt-manager 9586] DEBUG (console:588) spice uri: spice://127.0.0.1?port=5900

(virt-manager:9586): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:9586): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 20:01:44 virt-manager 9586] DEBUG (console:1128) Viewer connected

(virt-manager:9586): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:9586): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 20:01:44 virt-manager 9586] DEBUG (console:1128) Viewer connected

(virt-manager:9586): GSpice-CRITICAL **: recv hdr: Connection reset by peer
[Tue, 09 Jul 2013 20:02:21 virt-manager 9586] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x372fe60 (virtManager+domain+vmmDomain at 0x3649fa0)>
[Tue, 09 Jul 2013 20:02:21 virt-manager 9586] DEBUG (details:605) details close True <SpiceViewer object at 0x7f585517a280 (virtManager+console+SpiceViewer at 0x45691a0)> <Display object at 0x39f57d0 (SpiceDisplay at 0x3f426d0)> True
[Tue, 09 Jul 2013 20:02:21 virt-manager 9586] DEBUG (console:977) close_viewer <SpiceViewer object at 0x7f585517a280 (virtManager+console+SpiceViewer at 0x45691a0)>
[Tue, 09 Jul 2013 20:02:21 virt-manager 9586] DEBUG (console:502) spice viewer close() <Session object at 0x7f585517a190 (SpiceSession at 0x458f5b0)> <Display object at 0x39f57d0 (SpiceDisplay at 0x3f426d0)>
[Tue, 09 Jul 2013 20:02:21 virt-manager 9586] DEBUG (engine:334) window counter decremented to 1
[Tue, 09 Jul 2013 20:02:21 virt-manager 9586] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 20:02:21 virt-manager 9586] DEBUG (console:1100) Viewer disconnected
[Tue, 09 Jul 2013 20:02:21 virt-manager 9586] DEBUG (manager:213) Closing manager
[Tue, 09 Jul 2013 20:02:21 virt-manager 9586] DEBUG (engine:334) window counter decremented to 0
[Tue, 09 Jul 2013 20:02:21 virt-manager 9586] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x372fe60 (virtManager+domain+vmmDomain at 0x3649fa0)>
[Tue, 09 Jul 2013 20:02:21 virt-manager 9586] DEBUG (details:605) details close False None None None
[Tue, 09 Jul 2013 20:02:22 virt-manager 9586] DEBUG (engine:413) Exiting app normally.
Comment 11 Patrick McLean 2013-07-09 15:03:42 EDT
Here it is with a remote host, the last few assert failures are when I try pressing keys in the console:

[Tue, 09 Jul 2013 12:02:16 virt-manager 14030] DEBUG (connection:513) Connection managed save support: True
[Tue, 09 Jul 2013 12:02:16 virt-manager 14030] DEBUG (connection:161) Using libvirt API for netdev enumeration
[Tue, 09 Jul 2013 12:02:16 virt-manager 14030] DEBUG (connection:183) Using libvirt API for mediadev enumeration
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x383aaf0 (virtManager+domain+vmmDomain at 0x36afc80)>
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:1221) Starting connect process for proto=spice trans=ssh connhost=HOSTNAME connuser=root connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:185) Tunnel PID=14037 OUTFD=17 ERRFD=19
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:528) Opening tunnel for channel: <DisplayChannel object at 0x3867f50 (SpiceDisplayChannel at 0x3ee8e00)>
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:185) Tunnel PID=14039 OUTFD=23 ERRFD=25
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:528) Opening tunnel for channel: <CursorChannel object at 0x3d28140 (SpiceCursorChannel at 0x3ebd000)>
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:185) Tunnel PID=14040 OUTFD=24 ERRFD=27
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:1128) Viewer connected
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:528) Opening tunnel for channel: <CursorChannel object at 0x3d31410 (SpiceCursorChannel at 0x3ed8c00)>
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:185) Tunnel PID=14044 OUTFD=26 ERRFD=29
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:528) Opening tunnel for channel: <DisplayChannel object at 0x3d31410 (SpiceDisplayChannel at 0x3ed0570)>
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:185) Tunnel PID=14045 OUTFD=28 ERRFD=31

(virt-manager:14030): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:14030): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:1128) Viewer connected
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:528) Opening tunnel for channel: <InputsChannel object at 0x3d314b0 (SpiceInputsChannel at 0x3ed3e30)>
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:18 virt-manager 14030] DEBUG (console:185) Tunnel PID=14046 OUTFD=30 ERRFD=33
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x383aaf0 (virtManager+domain+vmmDomain at 0x36afc80)>
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (details:605) details close True <SpiceViewer object at 0x3abfa00 (virtManager+console+SpiceViewer at 0x3c3ac40)> <Display object at 0x3867f50 (SpiceDisplay at 0x3ef4240)> True
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (console:977) close_viewer <SpiceViewer object at 0x3abfa00 (virtManager+console+SpiceViewer at 0x3c3ac40)>
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (console:502) spice viewer close() <Session object at 0x3abfdc0 (SpiceSession at 0x3eb9440)> <Display object at 0x3867f50 (SpiceDisplay at 0x3ef4240)>
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (engine:334) window counter decremented to 1
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (console:203) Shutting down tunnel PID=14037 OUTFD=17 ERRFD=19
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (console:203) Shutting down tunnel PID=14039 OUTFD=23 ERRFD=25
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (console:203) Shutting down tunnel PID=14040 OUTFD=24 ERRFD=27
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (console:203) Shutting down tunnel PID=14044 OUTFD=26 ERRFD=29
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (console:203) Shutting down tunnel PID=14045 OUTFD=28 ERRFD=31
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (console:203) Shutting down tunnel PID=14046 OUTFD=30 ERRFD=33
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 12:02:25 virt-manager 14030] DEBUG (console:1100) Viewer disconnected
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x383aaf0 (virtManager+domain+vmmDomain at 0x36afc80)>
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:1221) Starting connect process for proto=spice trans=ssh connhost=HOSTNAME connuser=root connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:185) Tunnel PID=14050 OUTFD=17 ERRFD=23
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:528) Opening tunnel for channel: <DisplayChannel object at 0x3d31730 (SpiceDisplayChannel at 0x3970a20)>
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:185) Tunnel PID=14052 OUTFD=27 ERRFD=29
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:528) Opening tunnel for channel: <CursorChannel object at 0x3d3acd0 (SpiceCursorChannel at 0x3972580)>
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:185) Tunnel PID=14053 OUTFD=28 ERRFD=31

(virt-manager:14030): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:14030): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:1128) Viewer connected
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:528) Opening tunnel for channel: <CursorChannel object at 0x3d3b0a0 (SpiceCursorChannel at 0x3975e00)>
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:185) Tunnel PID=14054 OUTFD=30 ERRFD=33
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:528) Opening tunnel for channel: <DisplayChannel object at 0x3d3b0a0 (SpiceDisplayChannel at 0x3977180)>
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:185) Tunnel PID=14055 OUTFD=32 ERRFD=35

(virt-manager:14030): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:14030): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:1128) Viewer connected
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:528) Opening tunnel for channel: <InputsChannel object at 0x3d3b0f0 (SpiceInputsChannel at 0x397a790)>
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 12:02:26 virt-manager 14030] DEBUG (console:185) Tunnel PID=14056 OUTFD=34 ERRFD=37

(virt-manager:14030): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:14030): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:14030): GSpice-CRITICAL **: spice_inputs_key_press_and_release: assertion `channel->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:14030): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:14030): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed
Comment 12 Cole Robinson 2013-07-09 15:37:32 EDT
Created attachment 771200 [details]
another debugging patch

Hmm, I'm perplexed. The issue seems to be stemming from the initial CRITICAL warning in gtk_viewport_add but I don't know what's causing that either.

Does virt-viewer or spicy reproduce some weird issue or gtk errors as well?

Please try this debugging patch as well, you'll need to git reset --hard first.
Comment 13 Simon Cadman 2013-07-09 15:57:55 EDT
virt-viewer seems fine, spicy does seem to have a wierd issue where reconnecting to the same VM ( after connecting to VM , then clicking File menu -> recent -> same vm )  opens up a new window ( which does however update correctly and allow input etc ), the old window disconnects ( changes from VM display to blank screen ) and hangs, clicking on the hung window causes a segfault in spicy:

GSpice-Message: main channel: opened

(spicy:30997): GSpice-CRITICAL **: recv hdr: Connection reset by peer
GSpice-Message: main channel: closed
GSpice-Message: main channel: opened
Segmentation fault

Debug from new patch:

[Tue, 09 Jul 2013 20:47:56 virt-manager 20190] DEBUG (connection:513) Connection managed save support: True
[Tue, 09 Jul 2013 20:47:57 virt-manager 20190] DEBUG (connection:161) Using libvirt API for netdev enumeration
[Tue, 09 Jul 2013 20:47:57 virt-manager 20190] DEBUG (connection:183) Using libvirt API for mediadev enumeration
[Tue, 09 Jul 2013 20:48:08 virt-manager 20190] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x297bd70 (virtManager+domain+vmmDomain at 0x29ee4e0)>
[Tue, 09 Jul 2013 20:48:09 virt-manager 20190] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 20:48:09 virt-manager 20190] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 20:48:09 virt-manager 20190] DEBUG (console:1224) Starting connect process for proto=spice trans=None connhost=localhost connuser=None connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 20:48:09 virt-manager 20190] DEBUG (console:588) spice uri: spice://127.0.0.1?port=5900
[Tue, 09 Jul 2013 20:48:10 virt-manager 20190] DEBUG (console:1131) Viewer connected

(virt-manager:20190): GSpice-WARNING **: Warning no automount-inhibiting implementation available

(virt-manager:20190): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:20190): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 20:48:10 virt-manager 20190] DEBUG (console:1131) Viewer connected

(virt-manager:20190): GSpice-CRITICAL **: recv hdr: Connection reset by peer
[Tue, 09 Jul 2013 20:48:13 virt-manager 20190] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x297bd70 (virtManager+domain+vmmDomain at 0x29ee4e0)>
[Tue, 09 Jul 2013 20:48:13 virt-manager 20190] DEBUG (details:605) details close True <SpiceViewer object at 0x2c15960 (virtManager+console+SpiceViewer at 0x2e44cc0)> <Display object at 0x7f7f18a0ca50 (SpiceDisplay at 0x305a250)> True
[Tue, 09 Jul 2013 20:48:13 virt-manager 20190] DEBUG (console:977) close_viewer <SpiceViewer object at 0x2c15960 (virtManager+console+SpiceViewer at 0x2e44cc0)>
[Tue, 09 Jul 2013 20:48:13 virt-manager 20190] DEBUG (console:987) before viewport remove <Display object at 0x7f7f18a0ca50 (SpiceDisplay at 0x305a250)> [<Display object at 0x3008aa0 (SpiceDisplay at 0x305a010)>]
[Tue, 09 Jul 2013 20:48:13 virt-manager 20190] DEBUG (console:502) spice viewer close() <Session object at 0x2c15d20 (SpiceSession at 0x2c66ef0)> <Display object at 0x7f7f18a0ca50 (SpiceDisplay at 0x305a250)>
[Tue, 09 Jul 2013 20:48:13 virt-manager 20190] DEBUG (engine:334) window counter decremented to 1
[Tue, 09 Jul 2013 20:48:13 virt-manager 20190] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 20:48:13 virt-manager 20190] DEBUG (console:1103) Viewer disconnected
[Tue, 09 Jul 2013 20:48:15 virt-manager 20190] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x297bd70 (virtManager+domain+vmmDomain at 0x29ee4e0)>
[Tue, 09 Jul 2013 20:48:15 virt-manager 20190] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 20:48:15 virt-manager 20190] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 20:48:15 virt-manager 20190] DEBUG (console:1224) Starting connect process for proto=spice trans=None connhost=localhost connuser=None connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 20:48:15 virt-manager 20190] DEBUG (console:588) spice uri: spice://127.0.0.1?port=5900

(virt-manager:20190): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:20190): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 20:48:16 virt-manager 20190] DEBUG (console:1131) Viewer connected

(virt-manager:20190): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:20190): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 20:48:16 virt-manager 20190] DEBUG (console:1131) Viewer connected

(virt-manager:20190): GSpice-CRITICAL **: recv hdr: Connection reset by peer

(virt-manager:20190): GSpice-CRITICAL **: spice_inputs_motion: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:20190): GSpice-CRITICAL **: spice_inputs_motion: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:20190): GSpice-CRITICAL **: spice_inputs_motion: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:20190): GSpice-CRITICAL **: spice_inputs_motion: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:20190): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:20190): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:20190): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:20190): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:20190): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:20190): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed
[Tue, 09 Jul 2013 20:48:20 virt-manager 20190] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x297bd70 (virtManager+domain+vmmDomain at 0x29ee4e0)>
[Tue, 09 Jul 2013 20:48:20 virt-manager 20190] DEBUG (details:605) details close True <SpiceViewer object at 0x30087d0 (virtManager+console+SpiceViewer at 0x314f180)> <Display object at 0x7f7f18a0ca50 (SpiceDisplay at 0x305a6d0)> True
[Tue, 09 Jul 2013 20:48:20 virt-manager 20190] DEBUG (console:977) close_viewer <SpiceViewer object at 0x30087d0 (virtManager+console+SpiceViewer at 0x314f180)>
[Tue, 09 Jul 2013 20:48:20 virt-manager 20190] DEBUG (console:987) before viewport remove <Display object at 0x7f7f18a0ca50 (SpiceDisplay at 0x305a6d0)> [<Display object at 0x30084b0 (SpiceDisplay at 0x305a010)>]
[Tue, 09 Jul 2013 20:48:20 virt-manager 20190] DEBUG (console:502) spice viewer close() <Session object at 0x3008640 (SpiceSession at 0x315be10)> <Display object at 0x7f7f18a0ca50 (SpiceDisplay at 0x305a6d0)>
[Tue, 09 Jul 2013 20:48:20 virt-manager 20190] DEBUG (engine:334) window counter decremented to 1
[Tue, 09 Jul 2013 20:48:20 virt-manager 20190] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 20:48:20 virt-manager 20190] DEBUG (console:1103) Viewer disconnected
[Tue, 09 Jul 2013 20:48:21 virt-manager 20190] DEBUG (manager:213) Closing manager
[Tue, 09 Jul 2013 20:48:21 virt-manager 20190] DEBUG (engine:334) window counter decremented to 0
[Tue, 09 Jul 2013 20:48:21 virt-manager 20190] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x297bd70 (virtManager+domain+vmmDomain at 0x29ee4e0)>
[Tue, 09 Jul 2013 20:48:21 virt-manager 20190] DEBUG (details:605) details close False None None None
[Tue, 09 Jul 2013 20:48:21 virt-manager 20190] DEBUG (engine:413) Exiting app normally.
Comment 14 Patrick McLean 2013-07-09 16:36:01 EDT
Here is the debug output from the new patch:

[Tue, 09 Jul 2013 13:34:23 virt-manager 15150] DEBUG (connection:513) Connection managed save support: True
[Tue, 09 Jul 2013 13:34:23 virt-manager 15150] DEBUG (connection:161) Using libvirt API for netdev enumeration
[Tue, 09 Jul 2013 13:34:23 virt-manager 15150] DEBUG (connection:183) Using libvirt API for mediadev enumeration
[Tue, 09 Jul 2013 13:34:26 virt-manager 15150] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x2346a00 (virtManager+domain+vmmDomain at 0x2527280)>
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:1224) Starting connect process for proto=spice trans=ssh connhost=HOSTNAME connuser=root connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:185) Tunnel PID=15158 OUTFD=17 ERRFD=19
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:528) Opening tunnel for channel: <DisplayChannel object at 0x20d9e60 (SpiceDisplayChannel at 0x28198d0)>
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:185) Tunnel PID=15160 OUTFD=23 ERRFD=25
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:528) Opening tunnel for channel: <CursorChannel object at 0x2652a50 (SpiceCursorChannel at 0x281a750)>
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:185) Tunnel PID=15161 OUTFD=24 ERRFD=27
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:1131) Viewer connected
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:528) Opening tunnel for channel: <CursorChannel object at 0x2664a00 (SpiceCursorChannel at 0x28080c0)>
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:185) Tunnel PID=15166 OUTFD=26 ERRFD=29
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:528) Opening tunnel for channel: <DisplayChannel object at 0x2664a00 (SpiceDisplayChannel at 0x2802000)>
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:185) Tunnel PID=15167 OUTFD=28 ERRFD=31

(virt-manager:15150): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:15150): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:1131) Viewer connected
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:528) Opening tunnel for channel: <InputsChannel object at 0x2664dc0 (SpiceInputsChannel at 0x280b400)>
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:27 virt-manager 15150] DEBUG (console:185) Tunnel PID=15168 OUTFD=30 ERRFD=33
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x2346a00 (virtManager+domain+vmmDomain at 0x2527280)>
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (details:605) details close True <SpiceViewer object at 0x20f6e60 (virtManager+console+SpiceViewer at 0x2758560)> <Display object at 0x20d9e60 (SpiceDisplay at 0x2828280)> True
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (console:977) close_viewer <SpiceViewer object at 0x20f6e60 (virtManager+console+SpiceViewer at 0x2758560)>
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (console:987) before viewport remove <Display object at 0x20d9e60 (SpiceDisplay at 0x2828280)> [<Display object at 0x266cd70 (SpiceDisplay at 0x2828040)>]
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (console:502) spice viewer close() <Session object at 0x2652230 (SpiceSession at 0x216ab60)> <Display object at 0x20d9e60 (SpiceDisplay at 0x2828280)>
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (engine:334) window counter decremented to 1
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15158 OUTFD=17 ERRFD=19
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15160 OUTFD=23 ERRFD=25
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15161 OUTFD=24 ERRFD=27
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15166 OUTFD=26 ERRFD=29
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15167 OUTFD=28 ERRFD=31
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15168 OUTFD=30 ERRFD=33
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 13:34:33 virt-manager 15150] DEBUG (console:1103) Viewer disconnected
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (details:580) Showing VM details: <vmmDomain object at 0x2346a00 (virtManager+domain+vmmDomain at 0x2527280)>
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (engine:330) window counter incremented to 2
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:1224) Starting connect process for proto=spice trans=ssh connhost=HOSTNAME connuser=root connport=None gaddr=127.0.0.1 gport=5900 gsocket=None
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:185) Tunnel PID=15172 OUTFD=17 ERRFD=23
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:528) Opening tunnel for channel: <DisplayChannel object at 0x20d9e60 (SpiceDisplayChannel at 0x1fbd0d0)>
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:185) Tunnel PID=15174 OUTFD=27 ERRFD=29
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:528) Opening tunnel for channel: <CursorChannel object at 0x266e640 (SpiceCursorChannel at 0x1fbc2b0)>
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:185) Tunnel PID=15175 OUTFD=28 ERRFD=31

(virt-manager:15150): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:15150): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:1131) Viewer connected
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:528) Opening tunnel for channel: <CursorChannel object at 0x266e9b0 (SpiceCursorChannel at 0x1fbe800)>
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:185) Tunnel PID=15176 OUTFD=30 ERRFD=33
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:528) Opening tunnel for channel: <DisplayChannel object at 0x266e9b0 (SpiceDisplayChannel at 0x1fbf620)>
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:185) Tunnel PID=15177 OUTFD=32 ERRFD=35

(virt-manager:15150): Gtk-CRITICAL **: gtk_viewport_add: assertion `gtk_bin_get_child (bin) == NULL' failed

(virt-manager:15150): Gtk-CRITICAL **: gtk_widget_realize: assertion `widget->priv->anchored || GTK_IS_INVISIBLE (widget)' failed
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:1131) Viewer connected
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:528) Opening tunnel for channel: <InputsChannel object at 0x266ea00 (SpiceInputsChannel at 0x1fc28e0)>
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:162) Creating SSH tunnel: ssh -l root HOSTNAME sh -c 'nc -q 2>&1 | grep "requires an argument" >/dev/null;if [ $? -eq 0 ] ; then   CMD="nc -q 0 127.0.0.1 5900";else   CMD="nc 127.0.0.1 5900";fi;eval "$CMD";'
[Tue, 09 Jul 2013 13:34:35 virt-manager 15150] DEBUG (console:185) Tunnel PID=15178 OUTFD=34 ERRFD=37

(virt-manager:15150): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:15150): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:15150): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:15150): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:15150): GSpice-CRITICAL **: spice_inputs_key_press_and_release: assertion `channel->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:15150): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:15150): GSpice-CRITICAL **: spice_inputs_key_press: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:15150): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed

(virt-manager:15150): GSpice-CRITICAL **: spice_inputs_key_release: assertion `SPICE_CHANNEL(channel)->priv->state != SPICE_CHANNEL_STATE_UNCONNECTED' failed
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x2346a00 (virtManager+domain+vmmDomain at 0x2527280)>
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (details:605) details close True <SpiceViewer object at 0x266e780 (virtManager+console+SpiceViewer at 0x1fba760)> <Display object at 0x20d9e60 (SpiceDisplay at 0x2828700)> True
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (console:977) close_viewer <SpiceViewer object at 0x266e780 (virtManager+console+SpiceViewer at 0x1fba760)>
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (console:987) before viewport remove <Display object at 0x20d9e60 (SpiceDisplay at 0x2828700)> [<Display object at 0x26783c0 (SpiceDisplay at 0x2828040)>]
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (console:502) spice viewer close() <Session object at 0x266e7d0 (SpiceSession at 0x1fbae00)> <Display object at 0x20d9e60 (SpiceDisplay at 0x2828700)>
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (engine:334) window counter decremented to 1
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15172 OUTFD=17 ERRFD=23
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15174 OUTFD=27 ERRFD=29
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15175 OUTFD=28 ERRFD=31
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15176 OUTFD=30 ERRFD=33
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15177 OUTFD=32 ERRFD=35
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (console:203) Shutting down tunnel PID=15178 OUTFD=34 ERRFD=37
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (console:977) close_viewer None
[Tue, 09 Jul 2013 13:34:46 virt-manager 15150] DEBUG (console:1103) Viewer disconnected
[Tue, 09 Jul 2013 13:34:50 virt-manager 15150] DEBUG (manager:213) Closing manager
[Tue, 09 Jul 2013 13:34:50 virt-manager 15150] DEBUG (engine:334) window counter decremented to 0
[Tue, 09 Jul 2013 13:34:50 virt-manager 15150] DEBUG (details:597) Closing VM details: <vmmDomain object at 0x2346a00 (virtManager+domain+vmmDomain at 0x2527280)>
[Tue, 09 Jul 2013 13:34:50 virt-manager 15150] DEBUG (details:605) details close False None None None
[Tue, 09 Jul 2013 13:34:50 virt-manager 15150] DEBUG (engine:413) Exiting app normally.
Comment 15 Cole Robinson 2013-07-09 17:23:21 EDT
Well I really don't know what's causing the issue, but you give this a spin?:

diff --git a/virtManager/console.py b/virtManager/console.py
index 51175c0..553c022 100644
--- a/virtManager/console.py
+++ b/virtManager/console.py
@@ -536,7 +536,8 @@ class SpiceViewer(Viewer):
             channel.connect_after("channel-event", self._main_channel_event_cb)
             return
 
-        if type(channel) == SpiceClientGLib.DisplayChannel:
+        if (type(channel) == SpiceClientGLib.DisplayChannel and
+            not self.display):
             channel_id = channel.get_property("channel-id")
 
             if channel_id != 0:
Comment 16 Patrick McLean 2013-07-09 17:26:17 EDT
That seems to help.
Comment 17 Simon Cadman 2013-07-09 17:32:56 EDT
Seems to work for me, thanks.
Comment 18 Cole Robinson 2013-07-09 17:51:43 EDT
Pushed upstream now, thanks guys.

commit 5f497cba41785fc5532633811001958f99573f9b
Author: Cole Robinson <crobinso@redhat.com>
Date:   Tue Jul 9 17:50:05 2013 -0400

    console: Don't double create spice display
    
    I can't reproduce, but a couple gentoo users have issues that this
    fixes:
    
    https://bugzilla.redhat.com/show_bug.cgi?id=981975
Comment 19 Cole Robinson 2013-08-17 11:13:26 EDT
*** Bug 985028 has been marked as a duplicate of this bug. ***

Note You need to log in before you can comment on or make changes to this bug.