Bug 218999 - vncserver throws cairo errors with some applications
Summary: vncserver throws cairo errors with some applications
Keywords:
Status: CLOSED NOTABUG
Alias: None
Product: Fedora
Classification: Fedora
Component: vnc
Version: 6
Hardware: All
OS: Linux
medium
high
Target Milestone: ---
Assignee: Adam Tkac
QA Contact: David Lawrence
URL:
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2006-12-08 23:22 UTC by Bevan Bennett
Modified: 2013-04-30 23:34 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2006-12-13 08:41:58 UTC
Type: ---
Embargoed:


Attachments (Terms of Use)

Description Bevan Bennett 2006-12-08 23:22:20 UTC
Description of problem: 
Under 4.1.2-7.fc6 vncserver, attempting to display certain visuals throws cairo
errors and crashes window managers.  The applications in question run fine under
the standard console X, but crash under the new vnc-server.


Version-Release number of selected component (if applicable): 4.1.2-7.fc6
Problem does not exist with version 4.1.2-3.fc6.

How reproducible: 


Steps to Reproduce:
1. vncserver :2 --depth 24
2. vncviewer :2
3. inside vnc, launch a specific app. (Apologies, the one reliable cause I'v
found is the Cadence Library Manager, which we license. Other causes might be
able to be found from the type of cairo error -- see below.)
  
Actual results: 
New window comes up with mangled colormap.
Metacity (if running on the VNC desktop) crashes.
VNC log reports error listed below.

Expected results:
New window comes up with correct colormap, no window manager crashes.

Additional info: 
The error thrown is:
Window manager warning: Log level 16: gdkpixbuf-drawable.c:1247: Source drawable
has no colormap; either pass in a colormap, or set the colormap on the drawable
with gdk_drawable_set_colormap()
Error: Cairo 1.2.6 does not yet support the requested image format:
        Depth: 32
        Alpha mask: 0x00000000
        Red   mask: 0xffe00000
        Green mask: 0x001ffc00
        Blue  mask: 0x000003ff
Please file an enhancement request (quoting the above) at:
http://bugs.freedesktop.org/enter_bug.cgi?product=cairo
metacity: cairo-image-surface.c:201: _cairo_format_from_pixman_format: Assertion
`NOT_REACHED' failed.

Internal testing shows that this behavior occurs only with the newer vnc-server
package and occurs with both cairo 1.2.4 and 1.2.6.

Comment 1 Adam Tkac 2006-12-11 10:07:52 UTC
Could you send me name of package with affected application? I can't reproduce
this bug with "standard" cairo apps (gnome's system-config-* utilities) Thanks much

Comment 2 Bevan Bennett 2006-12-11 17:04:55 UTC
The only app that is doing this reliably for us is proprietary, licensed software:
Cadence IC 51.41, specifically the Library Manager.

I believe it does use some weird color mode, and it refuses to run if it doesn't
detect either a 8bit or 24bit display.

Comment 3 Adam Tkac 2006-12-12 10:49:28 UTC
(In reply to comment #2)
> The only app that is doing this reliably for us is proprietary, licensed software:
> Cadence IC 51.41, specifically the Library Manager.
> 
> I believe it does use some weird color mode, and it refuses to run if it doesn't
> detect either a 8bit or 24bit display.

It is big problem because cairo doesn't support 8bit depth (vncserver yes) and
vnc-server doesn't support 24bit per pixel. Both of these enhancements are known
in upstreams. You said that problem doesn't exists with vnc-server-4.1.2-3.fc6?
Try run vncserver with option "-render" ($ vncserver :2 -render) Does it works now?

Comment 4 Bevan Bennett 2006-12-12 23:22:04 UTC
vnc-server-4.1.2-3.fc6 works fine.
vnc-server-4.1.2-7.fc6 throws a fit.

Hey! "-render" makes 4.1.2-7.fc6 work as well. What does that option do? 
I can't find it documented in "man vncserver" or "man Xvnc"...

Is there an easy way to set this as a global default?

Comment 5 Adam Tkac 2006-12-13 08:41:58 UTC
(In reply to comment #4)
> vnc-server-4.1.2-3.fc6 works fine.
> vnc-server-4.1.2-7.fc6 throws a fit.
> 
> Hey! "-render" makes 4.1.2-7.fc6 work as well. What does that option do? 
> I can't find it documented in "man vncserver" or "man Xvnc"...
> 
> Is there an easy way to set this as a global default?

Yes, render I'm going to set this option by default because this bug isn't first  
problem with it


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