Bug 59173

Summary: Unable to run nx session to Fedora 18 (beta) with cairo 1.12.8
Product: cairo Reporter: Roderick Johnstone <rmj>
Component: generalAssignee: Chris Wilson <chris>
Status: RESOLVED MOVED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: medium CC: aidanamarks, hans, leho, nikoli, siretart
Version: 1.12.8   
Hardware: All   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 68382    

Description Roderick Johnstone 2013-01-09 17:08:38 UTC
When running a remote desktop kde session to a Fedora 18 (beta) system using the Nomachine nx server and clients, several programs gives errors like:

$ emacs
(emacs:7292): Gdk-ERROR **: The program 'emacs' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadValue (integer parameter out of range for operation)'.
  (Details: serial 130 error_code 2 request_code 25 minor_code 0)
  (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 GDK_SYNCHRONIZE environment
   variable to change this behavior. You can then get a meaningful
   backtrace from your debugger if you break on the gdk_x_error() function.)

The nx remote desktop works fine on Fedora 16.

Some analysis was done in this mailing list thread:
http://lists.cairographics.org/archives/cairo/2012-December/023829.html
which suggests that cairo is not checking for xrender extensions before using them, leading to the errors.

I can confirm that by setting LD_PRELOAD to preload the cairo libraries from Fedora 17 before running eg emacs in the nx session, these errors do dont happen.

I'm happy to run more tests if needed.

Roderick Johnstone
Comment 1 Reinhard Tartler 2013-01-11 12:56:35 UTC
This is probably a better link to the description of the problem:
http://thread.gmane.org/gmane.comp.lib.cairo/23411

To quote that email:

> The main problem seems to be the function _render_operator() in
> cairo-xlib-render.c, which just translates any cairo operator to the
> corresponding XRender code without any checks. This function is used in
> various calls to XRender functions.
Comment 2 GitLab Migration User 2018-08-25 13:31:48 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: https://gitlab.freedesktop.org/cairo/cairo/issues/50.

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.