[MacPorts] #40811: cairo: --enable-xcb-shm breaks many gtk3 apps since gtk3 3.10
David Evans
devans at macports.org
Sun Oct 20 10:32:38 PDT 2013
On 10/19/13 9:34 AM, MacPorts wrote:
> #40811: cairo: --enable-xcb-shm breaks many gtk3 apps since gtk3 3.10
> ----------------------+--------------------------
> Reporter: devans@… | Owner: ryandesign@…
> Type: defect | Status: new
> Priority: Normal | Milestone:
> Component: ports | Version: 2.2.0
> Keywords: haspatch | Port: cairo
> ----------------------+--------------------------
> After the upgrade to gtk3 3.10.0, many gtk3 apps have begun to crash with
> X11 protocol errors relating to the MIT SHM extension.
>
> This has primarily been apparent in my GNOME-3 test branch but has also
> been observed in at least one currently committed port, gnumeric. The
> failures are generally in the context of image operations, particularly
> those involving the display of GdkPixmaps (icons, thumbnails, etc).
>
> To reproduce the problem with gnumeric:
>
> * start gnumeric with default spreadsheet
> * select Insert->Image...
> * select an image file, e.g. JPEG, in the Select an Image window
>
> The program immediately crashes (apparently trying to display the image
> thumbnail) with the following on console:
>
>
> {{{
> (gnumeric:30071): Gdk-ERROR **: The program 'gnumeric' received an X
> Window System error.
> This probably reflects a bug in the program.
> The error was 'BadAccess (attempt to access private resource denied)'.
> (Details: serial 9061 error_code 10 request_code 132 minor_code 1)
> (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.)
> Trace/BPT trap: 5
> }}}
>
> xdpyinfo shows:
>
> $ xdpyinfo -queryExt | grep opcode | grep 132
> MIT-SHM (opcode: 132, base event: 72, base error: 132)
>
> This problem only effects gtk+ 3.10.0 and later, versions 3.8.0 through
> current version 3.8.6 work fine.
>
> Although initial testing pointed to something that had changed in gtk3,
> further testing shows that this is not a problem in gtk3 per se but is
> related to internal issues in cairo involving the use of xcb-shm functions
> which are enabled in the current cairo version.
>
> Attached is a patch for cairo that fixes the immediate problem by
> disabling the xcb-shm functions in configure. Further investigation is
> probably warranted to understand why these functions are not working
> properly.
>
> For details of my journey down the gtk3 rabbit hole see
> [https://bugzilla.gnome.org/show_bug.cgi?id=710319 gtk+ bug 710319]
>
Ryan --
Is it OK to go ahead and commit this?
Dave
More information about the macports-dev
mailing list