Opened 3 years ago

Closed 3 years ago

#61586 closed defect (fixed)

gimp +quartz crashes on Big Sur: Assertion failed: (!surface->finished), function _cairo_surface_release_source_image, file cairo-surface.c, line 2092.

Reported by: MaurizioLoreti Owned by: dbevans (David B. Evans)
Priority: Normal Milestone:
Component: ports Version:
Keywords: Cc: khyox (Jose Manuel Martí), michaellass (Michael Lass), mascguy (Christopher Nielsen)
Port: gimp

Description

I installed MacOS 11.0 Big Sur and, as usual, uninstalled all ports and reinstalled them again. But "port install gimp +quartz" failed, because the package py27-gobject could not be installed.

This is a known issue: grep the ticket database for py27-gobject to know more - but nobody is maintaining this package, and the result is that GIMP (+quartz) cannot be installed and used under Big Sur.

What should I do? Maybe uninstall all the +quartz packages required by GIMP +quartz and fall down to GIMP X11? I dislike very much the X11 interface... But waiting until a kind soul will maintain py27-gobject seems useless, and to switch to another (paid) program for photo retouching will be the only chance.

Change History (21)

comment:1 in reply to:  description Changed 3 years ago by ryandesign (Ryan Carsten Schmidt)

Replying to MaurizioLoreti:

"port install gimp +quartz" failed, because the package py27-gobject could not be installed.

That ticket is #61113.

comment:2 Changed 3 years ago by kencu (Ken)

#61113 seems specific to the +quartz build, and I could not reproduce that issue when I tried it on Catalina a few months ago, so that might be something spurious or local to some systems.

The current issue with py-gobject on Big Sur is a different one, and affects all versions of py-gobject and variants so far. I opened a ticket for that problem here #61591.

comment:3 Changed 3 years ago by kencu (Ken)

py-gobject is looking fixed, and perhaps the build of gimp might now limp on to whatever the next error might turn out to be...

comment:4 Changed 3 years ago by kencu (Ken)

The X11 version built:

% port -v installed gimp2
The following ports are currently installed:
  gimp2 @2.10.22_0+python27 (active) platform='darwin 20' archs='x86_64' date='2020-11-21T16:50:55-0800'

and it runs as expected. I'll try the quartz version next.

NOTE: the gimp metaport did not finish on BigSur due to net-snmp failing to build. BUT gimp2, which provides the image editor, did build.

Last edited 3 years ago by kencu (Ken) (previous) (diff)

comment:5 Changed 3 years ago by kencu (Ken)

gimp2 +quartz did install for me on Big Sur.

% port -v installed gimp2
The following ports are currently installed:
  gimp2 @2.10.22_0+python27 platform='darwin 20' archs='x86_64' date='2020-11-21T16:50:55-0800'
  gimp2 @2.10.22_0+python27+quartz (active) platform='darwin 20' archs='x86_64' date='2020-11-21T22:23:34-0800'

however --- this happened:

% gimp
2020-11-22 00:27:04.190 gimp[706:6788] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead. 
Assertion failed: (!surface->finished), function _cairo_surface_release_source_image, file cairo-surface.c, line 2092.
gimp: fatal error: Abort trap: 6

comment:6 Changed 3 years ago by MaurizioLoreti

OK, I have edited the py27-gobject portfile adding "configure.cflags-append -Wno-implicit-function-declaration", changed the checksums and then installed successfully py27-gobject.

Then I have installed gimp +quartz; but, invoking the executable, the GIMP icon appears in the dock (with the white dot under), stays there for about a minute, then disappears. Nothing happens and the GIMP window does not show.

I ran sudo port upgrade --force gimp +quartz , and reinstalled gimp +quartz from scratch. Opening the executable triggers the same behavior.

$ port -v installed gimp2 The following ports are currently installed:

gimp2 @2.10.22_0+python27+quartz (active) platform='darwin 20' archs='x86_64' date='2020-11-24T09:09:01+0100'

comment:7 Changed 3 years ago by kencu (Ken)

yes, I fixed py-gobject (you didn't need to edit the Portfile), and gimp now builds through.

The x11 version works fine. The quartz version does not.

if you look one box above yours I show you the assertion that causes this quartz-version failure.

It will need to be debugged, probably starting with looking at why the assertion is triggerring.

For today, you (now) have the x11 macports gimp version, or the upstream DMG.

comment:8 in reply to:  5 Changed 3 years ago by MStraeten (Martin Straeten)

Replying to kencu:

however --- this happened:

% gimp
2020-11-22 00:27:04.190 gimp[706:6788] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead. 
Assertion failed: (!surface->finished), function _cairo_surface_release_source_image, file cairo-surface.c, line 2092.
gimp: fatal error: Abort trap: 6

this seems to be due to cmake @3.19.1_0 i got this error when building darktable after upgrading to cmake @3.19.1_0 but not after reactivating cmake @3.18.5_0

comment:9 Changed 3 years ago by kencu (Ken)

no idea how this could be connected to the version of cmake that is installed; look forward to further analysis...

comment:10 Changed 3 years ago by MaddTheSane (C.W. Betts)

The _cairo_surface_release_source_image is an issue with Cairo on Big Sur. It is a known issue, affecting both arm64 and x86_64.

comment:11 Changed 3 years ago by kencu (Ken)

Summary: gimp +quartz does not build under Big Surgimp +quartz crashes on Big Sur

comment:12 Changed 3 years ago by kencu (Ken)

Summary: gimp +quartz crashes on Big Surgimp +quartz crashes on Big Sur: Assertion failed: (!surface->finished), function _cairo_surface_release_source_image, file cairo-surface.c, line 2092.

comment:13 Changed 3 years ago by mf2k (Frank Schima)

Cc: dbevans removed
Owner: set to dbevans
Status: newassigned

comment:14 Changed 3 years ago by DominusExult (Dominik Reichardt)

The merge request https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/52/diffs for cairo does help with my smaller project that also had the _cairo_surface_... crash.

Best keep an eye open for a new snapshot as soon as this merge gets accepted *or* add it as a patch for current cairo-devel port (and just maybe update that to 1.17.4 while you are at it)

comment:15 in reply to:  14 Changed 3 years ago by MaddTheSane (C.W. Betts)

Replying to DominusExult:

The merge request https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/52/diffs for cairo does help with my smaller project that also had the _cairo_surface_... crash.

Best keep an eye open for a new snapshot as soon as this merge gets accepted *or* add it as a patch for current cairo-devel port (and just maybe update that to 1.17.4 while you are at it)

Good news: the patch was merged.

comment:16 Changed 3 years ago by khyox (Jose Manuel Martí)

Cc: khyox added

comment:17 Changed 3 years ago by khyox (Jose Manuel Martí)

Of course, this is no gimp specific, failing also for Inkscape +quartz on macOS 11.1:

2020-12-16 00:09:44.537 inkscape[57339:2899049] *** WARNING: Method userSpaceScaleFactor in class NSView is deprecated on 10.7 and later. It should not be used in new applications. Use convertRectToBacking: instead.
Assertion failed: (!surface->finished), function _cairo_surface_release_source_image, file cairo-surface.c, line 2092.

Emergency save activated!
Emergency save completed. Inkscape will close now.
If you can reproduce this crash, please file a bug at https://inkscape.org/report
with a detailed description of the steps leading to the crash, so we can fix it.
fish: 'inkscape' terminated by signal SIGSEGV (Address boundary error)

comment:18 Changed 3 years ago by michaellass (Michael Lass)

Cc: michaellass added

comment:19 Changed 3 years ago by michaellass (Michael Lass)

I just sent a pull request to patch cairo and cairo-devel to include the fix linked in comment:14:

https://github.com/macports/macports-ports/pull/9703

For me, this fixes crashes in gimp2 and meld on Big Sur. I haven't tested inkscape but I assume it will fix it there as well.

comment:20 Changed 3 years ago by mascguy (Christopher Nielsen)

Cc: mascguy added

comment:21 Changed 3 years ago by Michael Lass <michael.lass@…>

Resolution: fixed
Status: assignedclosed

In 206d9afeee6d4dff3fa97bc66aaec7912cacb537/macports-ports (master):

cairo(-devel): fix crash on Big Sur

Apply changes from https://gitlab.freedesktop.org/cairo/cairo/-/merge_requests/52
to fix crashes of several applications (gimp, inkscape, meld, etc.) on
macOS Big Sur.

See: https://gitlab.freedesktop.org/cairo/cairo/-/issues/420
Fixes: #61586

Note: See TracTickets for help on using tickets.