Bug 459927 - virt-manager crashs when opening a VM's console window
Summary: virt-manager crashs when opening a VM's console window
Keywords:
Status: CLOSED NEXTRELEASE
Alias: None
Product: Fedora
Classification: Fedora
Component: virt-manager
Version: 9
Hardware: x86_64
OS: Linux
medium
high
Target Milestone: ---
Assignee: Daniel Berrangé
QA Contact: Fedora Extras Quality Assurance
URL:
Whiteboard:
: 452640 (view as bug list)
Depends On: 461359
Blocks:
TreeView+ depends on / blocked
 
Reported: 2008-08-24 16:30 UTC by Torsten Rausche
Modified: 2009-06-27 15:43 UTC (History)
5 users (show)

Fixed In Version: gtk-vnc-0.3.7-1.fc9
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2008-09-27 14:35:38 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Torsten Rausche 2008-08-24 16:30:56 UTC
Description of problem:
Virt-manager crashs when I try to open the console window of a VM by double clicking or selecting "open". Using virt-manager's --no-fork option I get the following error message:

The program 'virt-manager.py' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadLength (poly request too large or internal Xlib length erro'.
  (Details: serial 4317 error_code 16 request_code 144 minor_code 17)
  (Note to programmers: normally, X errors are reported asynchronously;
   that is, you will receive the error a while after causing it.
   To debug your program, run it with the --sync command line
   option to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

Starting virt-manager with --sync as recommended in this message doesn't work.

This is what happens in a German localized desktop environment. While investigating the problem I tried to start virt-manager with LANG=C set and it didn't crash! But I got different error messages:

(virt-manager.py:3352): GtkGLExt-CRITICAL **: gtk_widget_set_gl_capability: assertion `GDK_IS_GL_CONFIG (glconfig)' failed
(virt-manager.py:3352): gtk-vnc-WARNING **: Could not enable OpenGL
/usr/share/virt-manager/virtManager/console.py:77: Warning: g_object_unref: assertion `G_IS_OBJECT (object)' failed
  self.vncViewer = gtkvnc.Display()

Should I file another bug for gtk-vnc? Nonetheless virt-manager should not crash with the German localization.

Version-Release number of selected component (if applicable):
0.5.4-4.fc9.x86_64

How reproducible:
Always with LANG=de_DE.UTF-8

Steps to Reproduce:
1. Start virt-manager using "LANG=de_DE.UTF-8 virt-manager --no-fork"
2. Double click on a VM
3. See virt-manager crashing
  
Actual results:
Virt-manager crashs if "LANG" is not set to "C"

Expected results:
No crashs for your international friends ;-)

Comment 1 Adam Huffman 2008-08-31 15:29:43 UTC
I'm seeing this too, with LANG en_GB.utf8.  Seems to be more of a gtk-vnc problem, as I can connect with the old VNC client.

Comment 2 Adam Huffman 2008-08-31 15:33:30 UTC
(vinagre:4624): GtkGLExt-CRITICAL **: gtk_widget_get_gl_window: assertion `GTK_WIDGET_REALIZED (widget)' failed

(vinagre:4624): GtkGLExt-CRITICAL **: gtk_widget_get_gl_context: assertion `GTK_WIDGET_REALIZED (widget)' failed

(vinagre:4624): GdkGLExt-CRITICAL **: gdk_window_is_gl_capable: assertion `GDK_IS_WINDOW (window)' failed

(vinagre:4624): GdkGLExt-CRITICAL **: gdk_window_set_gl_capability: assertion `GDK_IS_WINDOW (window)' failed

(vinagre:4624): GtkGLExt-WARNING **: cannot set OpenGL-capability to widget->window

**
Gtk:ERROR:gtkwidget.c:7934:gtk_widget_real_map: assertion failed: (GTK_WIDGET_REALIZED (widget))

Could be a gtkglext problem, rather than gtk-vnc?

Comment 3 Torsten Rausche 2008-08-31 16:23:25 UTC
(In reply to comment #2)
> Could be a gtkglext problem, rather than gtk-vnc?

Could well be. We are seeing two bugs here. This bug report is primarily about virt-manager being unable to handle that (other) error gracefully in a localized environment. I don't know against which package the other bug should be filed. I just suspected gtk-vnc and hoped the maintainer could help, as he seems to be the maintainer and an upstream developer of both...

Comment 4 Daniel Berrangé 2008-09-01 09:08:25 UTC
Just stick with one bug report for now, until we can definitely say they are unrelated - its quite possible one error leads to another.

I've had a couple of reports of the problem in comment #2, but they are fairly non-reproducable. With latest rawhide install the original reporter was no longer able to see those assertion failures.

Comment 5 Cole Robinson 2008-09-03 20:36:05 UTC
*** Bug 452640 has been marked as a duplicate of this bug. ***

Comment 6 Cole Robinson 2008-09-05 20:45:02 UTC
Okay, I was seeing a similar issue. As root, over ssh -X, open virt-manager
and try to view the console of a running VM:

# rpm -q gtk-vnc
gtk-vnc-0.3.6-4.fc10.x86_64

# virt-manager --no-fork

(virt-manager.py:2365): GtkGLExt-CRITICAL **: gtk_widget_get_gl_window: assertion `GTK_WIDGET_REALIZED (widget)' failed

(virt-manager.py:2365): GtkGLExt-CRITICAL **: gtk_widget_get_gl_context: assertion `GTK_WIDGET_REALIZED (widget)' failed

(virt-manager.py:2365): GdkGLExt-CRITICAL **: gdk_window_is_gl_capable: assertion `GDK_IS_WINDOW (window)' failed

(virt-manager.py:2365): GdkGLExt-CRITICAL **: gdk_window_set_gl_capability: assertion `GDK_IS_WINDOW (window)' failed

(virt-manager.py:2365): GtkGLExt-WARNING **: cannot set OpenGL-capability to widget->window

/usr/share/virt-manager/virt-manager.py:304: GtkWarning: gdk_window_set_cursor: assertion `GDK_IS_WINDOW (window)' failed
  gtk.main()
/usr/share/virt-manager/virt-manager.py:304: GtkWarning: gdk_gc_new: assertion `drawable != NULL' failed
  gtk.main()
/usr/share/virt-manager/virt-manager.py:304: GtkWarning: gdk_drawable_get_visual: assertion `GDK_IS_DRAWABLE (drawable)' failed
  gtk.main()
/usr/share/virt-manager/virt-manager.py:304: GtkWarning: gdk_visual_get_screen: assertion `GDK_IS_VISUAL (visual)' failed
  gtk.main()
/usr/share/virt-manager/virt-manager.py:304: GtkWarning: _gdk_image_new_for_depth: assertion `visual || depth != -1' failed
  gtk.main()
Segmentation fault

I then pulled down gtk-vnc 0.3.7 via koji and this problem was fixed: I could connect to the VM no problem.

If there was a gtk-vnc bug tracking this issue that someone knows of, please close this as a dup of that.

Comment 7 Torsten Rausche 2008-09-06 14:15:06 UTC
I can confirm that this crash doesn't occur with gtk-vnc-0.3.7. I fetched the SRPM from koji and rebuilt it for F9 using mock.

I'll request an update of gtk-vnc for F9 and let it block this bug. Both bugs can be closed when the update hits bodhi.

Comment 8 Torsten Rausche 2008-09-27 14:35:38 UTC
gtk-vnc-0.3.7-1.fc9 has been pushed to the Fedora 9 stable repository and fixes this bug.


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