Bug 459927 - virt-manager crashs when opening a VM's console window
virt-manager crashs when opening a VM's console window
Status: CLOSED NEXTRELEASE
Product: Fedora
Classification: Fedora
Component: virt-manager (Show other bugs)
9
x86_64 Linux
medium Severity high
: ---
: ---
Assigned To: Daniel Berrange
Fedora Extras Quality Assurance
:
: 452640 (view as bug list)
Depends On: 461359
Blocks:
  Show dependency treegraph
 
Reported: 2008-08-24 12:30 EDT by Torsten Rausche
Modified: 2009-06-27 11:43 EDT (History)
5 users (show)

See Also:
Fixed In Version: gtk-vnc-0.3.7-1.fc9
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2008-09-27 10:35:38 EDT
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Torsten Rausche 2008-08-24 12:30:56 EDT
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 11:29:43 EDT
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 11:33:30 EDT
(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 12:23:25 EDT
(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 Berrange 2008-09-01 05:08:25 EDT
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 16:36:05 EDT
*** Bug 452640 has been marked as a duplicate of this bug. ***
Comment 6 Cole Robinson 2008-09-05 16:45:02 EDT
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 10:15:06 EDT
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 10:35:38 EDT
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.