Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Latest version no longer works after upgrading to Sonoma #147

Open
sammirata opened this issue Jun 9, 2023 · 153 comments
Open

Latest version no longer works after upgrading to Sonoma #147

sammirata opened this issue Jun 9, 2023 · 153 comments

Comments

@sammirata
Copy link

I upgraded my mac to sonoma and now the software crashes on startup. Here is the crash message:

Translated Report (Full Report Below)

Process: Meld [13083]
Path: /Applications/Meld.app/Contents/MacOS/Meld
Identifier: org.gnome.meld
Version: 3.21.0.osx2 (3.21.0.osx2)
Code Type: ARM-64 (Translated)
Parent Process: launchd [1]
User ID: 501

Date/Time: 2023-06-09 09:27:14.8923 -0400
OS Version: macOS 14.0 (23A5257q)
Report Version: 12
Anonymous UUID: 24976634-5085-2C39-8A49-4462CB674113

Sleep/Wake UUID: BB6CB32F-0CE4-43D8-AC9B-A12741CB7AE9

Time Awake Since Boot: 62000 seconds
Time Since Wake: 3052 seconds

System Integrity Protection: enabled

Crashed Thread: 0 Dispatch queue: com.apple.main-thread

Exception Type: EXC_CRASH (SIGABRT)
Exception Codes: 0x0000000000000000, 0x0000000000000000

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 ??? 0x7ff89732aa78 ???
1 libsystem_kernel.dylib 0x7ff8075ea88e __pthread_kill + 10
2 libsystem_pthread.dylib 0x7ff807622f30 pthread_kill + 262
3 libsystem_c.dylib 0x7ff807542a71 abort + 126
4 libsystem_c.dylib 0x7ff807541d84 __assert_rtn + 314
5 libcairo.2.dylib 0x10df39aa3 _cairo_surface_release_source_image.cold.1 + 35
6 libcairo.2.dylib 0x10dedad50 _cairo_surface_release_source_image + 32
7 libcairo.2.dylib 0x10df05899 DataProviderReleaseCallback + 25
8 CoreGraphics 0x7ff80ce467f1 data_release_info + 31
9 CoreGraphics 0x7ff80cdff8bd data_provider_finalize + 54
10 CoreGraphics 0x7ff80cdc7a68 data_provider_retain_count + 74
11 CoreFoundation 0x7ff8077c6906 _CFRelease + 515
12 CoreGraphics 0x7ff80ce25e93 image_finalize + 103
13 CoreFoundation 0x7ff8077c681b _CFRelease + 280
14 CoreGraphics 0x7ff80ce6d411 CG::DisplayListResourceImage::~DisplayListResourceImage() + 23
15 CoreGraphics 0x7ff80ce6d3ea CG::DisplayListResourceImage::~DisplayListResourceImage() + 14
16 CoreGraphics 0x7ff80d41a407 std::__1::shared_ptrCG::DisplayListResourceImage::~shared_ptrabi:v160002 + 49
17 CoreGraphics 0x7ff80d412893 std::__1::__tree<std::__1::shared_ptrCG::DisplayListResourceImage, CG::CompareResourceImage, std::__1::allocator<std::__1::shared_ptrCG::DisplayListResourceImage>>::destroy(std::__1::__tree_node<std::__1::shared_ptrCG::DisplayListResourceImage, void*>) + 47
18 CoreGraphics 0x7ff80d41287e std::__1::__tree<std::__1::shared_ptrCG::DisplayListResourceImage, CG::CompareResourceImage, std::__1::allocator<std::__1::shared_ptrCG::DisplayListResourceImage>>::destroy(std::__1::__tree_node<std::__1::shared_ptrCG::DisplayListResourceImage, void
>) + 26
19 CoreGraphics 0x7ff80d41287e std::__1::__tree<std::__1::shared_ptrCG::DisplayListResourceImage, CG::CompareResourceImage, std::__1::allocator<std::__1::shared_ptrCG::DisplayListResourceImage>>::destroy(std::__1::__tree_node<std::__1::shared_ptrCG::DisplayListResourceImage, void
>) + 26
20 CoreGraphics 0x7ff80ce6d2d3 CG::DisplayList::~DisplayList() + 301
21 CoreFoundation 0x7ff8077c681b _CFRelease + 280
22 libobjc.A.dylib 0x7ff8072640d5 object_cxxDestructFromClass(objc_object
, objc_class*) + 83
23 libobjc.A.dylib 0x7ff80725d2f0 objc_destructInstance + 96
24 libobjc.A.dylib 0x7ff80725d289 _objc_rootDealloc + 62
25 AppKit 0x7ff80b4c8b6e -[NSViewBackingStoreImage dealloc] + 41
26 QuartzCore 0x7ff80fec40d5 CA::release_objects(X::List<void const*>*) + 21
27 QuartzCore 0x7ff80feb5258 CA::Transaction::commit() + 1548
28 AppKit 0x7ff80ad2b0bd __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 285
29 AppKit 0x7ff80b66ce99 ___NSRunLoopObserverCreateWithHandler_block_invoke + 41
30 CoreFoundation 0x7ff8076fdfac CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION + 23
31 CoreFoundation 0x7ff8076fded1 __CFRunLoopDoObservers + 493
32 CoreFoundation 0x7ff8076fd453 __CFRunLoopRun + 850
33 CoreFoundation 0x7ff8076fcae9 CFRunLoopRunSpecific + 557
34 HIToolbox 0x7ff812312819 RunCurrentEventLoopInMode + 292
35 HIToolbox 0x7ff812312456 ReceiveNextEventCommon + 201
36 HIToolbox 0x7ff812312371 _BlockUntilNextEventMatchingListInModeWithFilter + 66
37 AppKit 0x7ff80abce571 _DPSNextEvent + 880
38 AppKit 0x7ff80abcd2d3 -[NSApplication(NSEvent) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1304
39 libgdk-3.0.dylib 0x10f5abc4c poll_func + 172
40 libglib-2.0.0.dylib 0x10d82648d g_main_context_iterate + 445
41 libglib-2.0.0.dylib 0x10d826594 g_main_context_iteration + 100
42 libgio-2.0.0.dylib 0x10e4f823d g_application_run + 541

@cristifalcas
Copy link

same here :(

@u007
Copy link

u007 commented Aug 14, 2023

mine no error, but blank window
Screenshot 2023-08-14 at 9 52 29 AM

@vitaly-castLabs
Copy link

All of a sudden stopped working on Ventura 13.5.1 as well. It shows the window but the buttons are not responsive

@hekenji
Copy link

hekenji commented Sep 11, 2023

I am using Ventura 13.5.2 and it is working well.

@vitaly-castLabs
Copy link

Could this be related to this issue in cairo? https://gitlab.freedesktop.org/cairo/cairo/-/issues/420

@ivanopcode
Copy link

same here on Sonoma RC

@hekenji
Copy link

hekenji commented Sep 26, 2023

On Sonoma (final, released today), Meld stopped working (segmentation fault meld)... :(

@rybalkoss
Copy link

same here

Couldn't set the locale: unsupported locale setting; falling back to 'C' locale

(meld:21109): Gtk-WARNING **: 12:47:23.135: Locale not supported by C library.
	Using the fallback 'C' locale.

@jeroenhabets
Copy link

Same here but I get a segmentation fault :

% meld data.tf ../../acc-rc/data.tf
zsh: segmentation fault  meld data.tf ../../acc-rc/data.tf

Crash report (first bits):

-------------------------------------
Translated Report (Full Report Below)
-------------------------------------

Process:               Meld [14269]
Path:                  /Applications/Meld.app/Contents/MacOS/Meld
Identifier:            org.gnome.meld
Version:               3.21.0.osx3 (3.21.0.osx3)
Code Type:             X86-64 (Native)
Parent Process:        zsh [11352]
Responsible:           iTerm2 [6336]
User ID:               501

Date/Time:             2023-09-27 17:58:20.9544 +0200
OS Version:            macOS 14.0 (23A344)
Report Version:        12
Bridge OS Version:     8.0 (21P365)
Anonymous UUID:        9A778F10-D4BE-A845-D9E7-478128BAF403

Sleep/Wake UUID:       B184D2AA-2DEA-4DF2-B33A-2C0652B2EE1D

Time Awake Since Boot: 44000 seconds
Time Since Wake:       15108 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000001000000050
Exception Codes:       0x0000000000000001, 0x0000001000000050

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [14269]

VM Region Info: 0x1000000050 is not in any region.  Bytes after previous region: 64115695697  Bytes before following region: 105484396789680
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      mapped file                 112672000-112682000    [   64K] rw-/rwx SM=PRV  ...t_id=5d0bc3c7
--->  GAP OF 0x5ffeed97e000 BYTES
      MALLOC_NANO              600000000000-600020000000 [512.0M] rw-/rwx SM=PRV  

Kernel Triage:
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter
VM - (arg = 0x3) mach_vm_allocate_kernel failed within call to vm_map_enter

@jeroenhabets
Copy link

@yousseb in full appreciation of your work I have to ask: am I correct that you do not intend to release an update soon? In my case to fix the crash on Sonoma (which has now been released).

Is there something we can contribute?

@JoeLyga
Copy link

JoeLyga commented Sep 29, 2023

I tried building it from source, and it gets past the error (building it was a little tricky). So it doesn't look like any code changes are required, but probably just needs to be rebuilt. If I can package this up as a Mac App then I will share it.

Issues run into while building

  • lots of dependencies needed to be installed through brew and pip3 throughout the process (not an issue, but be aware of this if you're not experienced with building from source)
  • py3cairo needed a package config file. I generated one that package config seems to have liked (not sure of the proper method, I just used GPT-4)
  • after running ninja install, the files actually were installed to the homebrew directory. When running it, python was unable to find the meld.conf import. Turns out they were installed to /opt/homebrew/opt/homebrew/lib/python3.11/site-packages/meld/conf.py and needed to be added to the python path

After that, I was able to run meld from source

@JoeLyga
Copy link

JoeLyga commented Sep 29, 2023

image
Sorry, no luck getting this packaged as a mac app. It works on my machine from ninja install, but it's only working with the homebrew dependencies and not the dependencies in the mac app. I spent a few hours struggling with dependencies, but it's getting into obscure gtk errors. The biggest issue is this was originally packaged for x86 processors and not m1, so the dependencies all need to be apple silicon.

However, it does work if you compile it from source like in the instructions.

We will have to wait for the author or someone more experienced with Mac app packaging.

@alexolog
Copy link

This is very frustrating

@laoshaw
Copy link

laoshaw commented Sep 30, 2023

same problem, is there an alternative for meld?

@JoeLyga
Copy link

JoeLyga commented Sep 30, 2023

I wouldn't write off Meld, it just needs to be recompiled and repackaged. This Mac OS specific fork still works great. We just need someone more experienced with Mac OS development to put up a .app of it.

@makapav
Copy link

makapav commented Oct 1, 2023

Meld was perfect when it worked earlier for folder comparison. I hope the author finds the time to update it.

@alexolog
Copy link

alexolog commented Oct 1, 2023

If it's just creating a package, it can be forked.

@krdian
Copy link

krdian commented Oct 2, 2023

Same issue here:

$ meld
Couldn't set the locale: unsupported locale setting; falling back to 'C' locale

(meld:25565): Gtk-WARNING **: 09:59:08.546: Locale not supported by C library.
Using the fallback 'C' locale.
Segmentation fault: 11

@enryfox
Copy link

enryfox commented Oct 3, 2023

I tried building it from source, and it gets past the error (building it was a little tricky). So it doesn't look like any code changes are required, but probably just needs to be rebuilt. If I can package this up as a Mac App then I will share it.

Issues run into while building

* lots of dependencies needed to be installed through brew and pip3 throughout the process (not an issue, but be aware of this if you're not experienced with building from source)

* py3cairo needed a package config file.  I generated one that package config seems to have liked (not sure of the proper method, I just used GPT-4)

* after running ninja install, the files actually were installed to the homebrew directory.  When running it, python was unable to find the meld.conf import.  Turns out they were installed to `/opt/homebrew/opt/homebrew/lib/python3.11/site-packages/meld/conf.py` and needed to be added to the python path

Can you share the py3cairo pkg file ? i'm stuck with meson _build failing to find py3cairo (though it is installed).

Thanks !

@zorzella
Copy link

zorzella commented Oct 3, 2023

Meld on Sonoma is broken for me as well.

@enryfox
Copy link

enryfox commented Oct 4, 2023

* after running ninja install, the files actually were installed to the homebrew directory.  When running it, python was unable to find the meld.conf import.  Turns out they were installed to `/opt/homebrew/opt/homebrew/lib/python3.11/site-packages/meld/conf.py` and needed to be added to the python path

I was able to compile meld in Sonoma on M1 and run the ninja installer; i moved the meld pkg from /opt/homebrew/opt/homebrew/lib/python3.11/site-packages to /opt/homebrew/lib/python3.11/site-packages (I think it is where it was supposed to be...) but when I start meld I'm greeted with the error:

Traceback (most recent call last):
File "/opt/homebrew/bin/meld", line 111, in
import meld.conf # noqa: E402
^^^^^^^^^^^^^^^^
File "/opt/homebrew/lib/python3.11/site-packages/meld/conf.py", line 5, in
from Foundation import NSBundle
ModuleNotFoundError: No module named 'Foundation'

I installed both python modules Foundation and PyObjC, but it is still not working.
I personally hate python, it always has problem like that ....

@JoeLyga
Copy link

JoeLyga commented Oct 4, 2023

I don't have the py3cairo package file. I tried searching for it but I might've overwritten it at some point when rebuilding.

For the meld.conf issue:
I ran into the same problem with unable to import meld.conf. The solution is adding the path of the meld library in site packages to your pythonpath. I tried finding some method of integrating it into the the script itself, but was still getting errors. So I made it part of my zshrc
export PYTHONPATH="$PYTHONPATH:/opt/homebrew/opt/homebrew/lib/python3.11/site-packages/meld"

@jeremycopinlm
Copy link

please fix, very useful tool

@rybalkoss
Copy link

Traceback (most recent call last): File "/opt/homebrew/bin/meld", line 111, in import meld.conf # noqa: E402 ^^^^^^^^^^^^^^^^ File "/opt/homebrew/lib/python3.11/site-packages/meld/conf.py", line 5, in from Foundation import NSBundle ModuleNotFoundError: No module named 'Foundation'

I installed both python modules Foundation and PyObjC, but it is still not working. I personally hate python, it always has problem like that ....

does anyone know how to resolve that?

@JoeLyga
Copy link

JoeLyga commented Oct 5, 2023 via email

@AravindGopala
Copy link

Meld on Sonoma is broken for me as well.

@Uluwatta
Copy link

Uluwatta commented Oct 7, 2023

Same here :(

@imndx
Copy link

imndx commented Oct 8, 2023

Flow the build guide,but end with: jhbuild build: failed to unpack /Users/imndx/gtk/source/pkgs/zlib-1.3.tar.xz

@carcinocron
Copy link

same problem, is there an alternative for meld?

yes, and they are all hot garbage. I thought meld performed a little slow on OSX and went on a brief tour seeing what else is out there. Almost everything else was 1.) also slow or slower 2.) missing extremely basic 101 features.

@eaanillol
Copy link

Hi Meld team. Are there news? This is an important tool to work.

@vesvello
Copy link

vesvello commented Dec 7, 2023

Hi folks, check a few messages up. There is an unofficial M1/M2/M3 .dmg that works. I’ve been using it for a few days now on an M1 Macbook Pro and it’s been great.

Precisely, this above message: #147 (comment)

And folks, it would help to stop bloating the thread with more “hey it doesn’t work for me as well on sonoma”, I think by now it’s clear that Meld needs to be patched for sonoma, adding more of these msg no longer adds any value, but if it makes you feel better, what can I say.. ;-)

I tried this but I got this message. I tried to resolve by myself with no success

Captura de pantalla 2023-12-07 a la(s) 09 46 00

I have Mac book Pro M1 with Sonoma 14.1.1

@sudhir80
Copy link

sudhir80 commented Dec 8, 2023

Hi folks, check a few messages up. There is an unofficial M1/M2/M3 .dmg that works. I’ve been using it for a few days now on an M1 Macbook Pro and it’s been great.

Precisely, this above message: #147 (comment)
And folks, it would help to stop bloating the thread with more “hey it doesn’t work for me as well on sonoma”, I think by now it’s clear that Meld needs to be patched for sonoma, adding more of these msg no longer adds any value, but if it makes you feel better, what can I say.. ;-)

I tried this but I got this message. I tried to resolve by myself with no success
Captura de pantalla 2023-12-07 a la(s) 09 46 00

I have Mac book Pro M1 with Sonoma 14.1.1

I was getting the same error as you when I ran the binary linked in #148 (comment). Many thanks to @matthiasdiener for providing the binary. Here is what did to fix it:

  • You do need to have Homebrew installed. Follow this guide to install it first if you don't have: https://docs.brew.sh/Installation
  • Open Terminal and run the command arch -arm64 brew install libpng.
  • Try opening Meld again. If you get the same error then install brotli as well: arch -arm64 brew install brotli.
  • Launch Meld now. It should work. At least it worked for me.

On a side note I installed only brotli first and Meld still crashed with the same message. Installing libpng also fixed it for me. Installing libpng without brotli didn't work either. I needed both. YMMV. Good luck.

@raf1hh
Copy link

raf1hh commented Dec 8, 2023

Sonoma 14.1.2 on x86

Latest pre-release works (and is actually quite fast) if you install libpng and brotoli using homebrew.

However, there are some issue related to font rendering. Text seems to be stretched and font setting is not saving in preferences. I.e even after setting custom font to make it look a little better, the font will reset after closing of the app.

@syneart
Copy link

syneart commented Dec 11, 2023

Meld 3.21.0 (r4) Sonoma at 14.1.2 with Apple silicon

Hope this snippet can help everyone; I've successfully used it myself and wanted to share it with all of you.

https://gist.github.com/syneart/4a8724cd479d31f0f742f499f807dcb2

Screenshot 2023-12-11 at 11 36 07

@dr942120
Copy link

Meld 3.21.0 (r4) on x86-64 works as well

https://github.com/yousseb/meld/releases

Meld 3.21.0 (r4) Sonoma at 14.1.2 with Apple silicon

Hope this snippet can help everyone; I've successfully used it myself and wanted to share it with all of you.

https://gist.github.com/syneart/4a8724cd479d31f0f742f499f807dcb2

Screenshot 2023-12-11 at 11 36 07

@ArthurHoaro
Copy link

I just upgraded to macOS Sonomata 14.2, and it seems to have solved the issue somehow, Meld is now working again.
I did not apply any tweak for missing libs.

image

@liamjones
Copy link

liamjones commented Dec 19, 2023

I just upgraded to macOS Sonomata 14.2, and it seems to have solved the issue somehow, Meld is now working again.

Yep, just tried it on an Intel mac here after upgrading to Sonoma 14.2 and the r3 release is working again. 🥳

Edit: spoke too soon - as marcink said below - it crashes when trying to compare directories. File comparisons work. Crashes in _cairo_surface_release_source_image:

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (SIGSEGV)
Exception Codes:       KERN_INVALID_ADDRESS at 0x0000000000000048
Exception Codes:       0x0000000000000001, 0x0000000000000048

Termination Reason:    Namespace SIGNAL, Code 11 Segmentation fault: 11
Terminating Process:   exc handler [47326]

VM Region Info: 0x48 is not in any region.  Bytes before following region: 140737487830968
      REGION TYPE                    START - END         [ VSIZE] PRT/MAX SHRMOD  REGION DETAIL
      UNUSED SPACE AT START
--->  
      shared memory            7ffffff80000-7ffffff81000 [    4K] r-x/r-x SM=SHM  

Thread 0 Crashed::  Dispatch queue: com.apple.main-thread
0   libcairo.2.dylib              	       0x104cd5d3d _cairo_surface_release_source_image + 13
1   libcairo.2.dylib              	       0x104d00899 DataProviderReleaseCallback + 25
2   CoreGraphics                  	    0x7ff80a3907e1 data_release_info + 31
3   CoreGraphics                  	    0x7ff80a34aabb data_provider_finalize + 66
4   CoreGraphics                  	    0x7ff80a3137a4 data_provider_retain_count + 74
5   CoreFoundation                	    0x7ff804a0cc56 _CFRelease + 495
6   CoreGraphics                  	    0x7ff80a36fef9 image_finalize + 103
7   CoreFoundation                	    0x7ff804a0cb80 _CFRelease + 281
8   libcairo.2.dylib              	       0x104d00a01 SurfacePatternReleaseInfoFunc + 17
9   CoreFoundation                	    0x7ff804a0cb80 _CFRelease + 281
10  CoreGraphics                  	    0x7ff80a319750 color_finalize + 32
11  CoreFoundation                	    0x7ff804a0cb80 _CFRelease + 281
12  CoreGraphics                  	    0x7ff80a3b3a9d CG::DisplayListResourceColor::~DisplayListResourceColor() + 23
13  CoreGraphics                  	    0x7ff80a3b3a78 CG::DisplayListResourceColor::~DisplayListResourceColor() + 14
14  CoreGraphics                  	    0x7ff80a86c07d std::__1::shared_ptr<CG::DisplayListResourceColor>::~shared_ptr[abi:v160006]() + 49
15  CoreGraphics                  	    0x7ff80a86124b std::__1::__tree<std::__1::shared_ptr<CG::DisplayListResourceColor>, CG::CompareResourceColor, std::__1::allocator<std::__1::shared_ptr<CG::DisplayListResourceColor>>>::destroy(std::__1::__tree_node<std::__1::shared_ptr<CG::DisplayListResourceColor>, void*>*) + 47
16  CoreGraphics                  	    0x7ff80a861236 std::__1::__tree<std::__1::shared_ptr<CG::DisplayListResourceColor>, CG::CompareResourceColor, std::__1::allocator<std::__1::shared_ptr<CG::DisplayListResourceColor>>>::destroy(std::__1::__tree_node<std::__1::shared_ptr<CG::DisplayListResourceColor>, void*>*) + 26
17  CoreGraphics                  	    0x7ff80a861236 std::__1::__tree<std::__1::shared_ptr<CG::DisplayListResourceColor>, CG::CompareResourceColor, std::__1::allocator<std::__1::shared_ptr<CG::DisplayListResourceColor>>>::destroy(std::__1::__tree_node<std::__1::shared_ptr<CG::DisplayListResourceColor>, void*>*) + 26
18  CoreGraphics                  	    0x7ff80a861236 std::__1::__tree<std::__1::shared_ptr<CG::DisplayListResourceColor>, CG::CompareResourceColor, std::__1::allocator<std::__1::shared_ptr<CG::DisplayListResourceColor>>>::destroy(std::__1::__tree_node<std::__1::shared_ptr<CG::DisplayListResourceColor>, void*>*) + 26
19  CoreGraphics                  	    0x7ff80a3b389f CG::DisplayList::~DisplayList() + 377
20  CoreFoundation                	    0x7ff804a0cb80 _CFRelease + 281
21  libobjc.A.dylib               	    0x7ff8044a39e9 object_cxxDestructFromClass(objc_object*, objc_class*) + 83
22  libobjc.A.dylib               	    0x7ff80449cdbc objc_destructInstance + 96
23  libobjc.A.dylib               	    0x7ff80449cd57 _objc_rootDealloc + 62
24  AppKit                        	    0x7ff808888e66 -[NSViewBackingStoreImage dealloc] + 41
25  QuartzCore                    	    0x7ff80ce23465 CA::release_objects(X::List<void const*>*) + 21
26  QuartzCore                    	    0x7ff80ce142d8 CA::Transaction::commit() + 1548
27  AppKit                        	    0x7ff8080ab83d __62+[CATransaction(NSCATransaction) NS_setFlushesWithDisplayLink]_block_invoke + 285
28  AppKit                        	    0x7ff808b8175d ___NSRunLoopObserverCreateWithHandler_block_invoke + 41
29  CoreFoundation                	    0x7ff804942576 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 23
30  CoreFoundation                	    0x7ff80494249a __CFRunLoopDoObservers + 493
31  CoreFoundation                	    0x7ff804941a1c __CFRunLoopRun + 850
32  CoreFoundation                	    0x7ff804941102 CFRunLoopRunSpecific + 557
33  HIToolbox                     	    0x7ff80f2199d9 RunCurrentEventLoopInMode + 292
34  HIToolbox                     	    0x7ff80f219616 ReceiveNextEventCommon + 201
35  HIToolbox                     	    0x7ff80f219531 _BlockUntilNextEventMatchingListInModeWithFilter + 66
36  AppKit                        	    0x7ff807f4f7b9 _DPSNextEvent + 880
37  AppKit                        	    0x7ff808847f64 -[NSApplication(NSEventRouting) _nextEventMatchingEventMask:untilDate:inMode:dequeue:] + 1304
38  libgdk-3.0.dylib              	       0x105aadc4c poll_func + 172
39  libglib-2.0.0.dylib           	       0x1048b548d g_main_context_iterate + 445
40  libglib-2.0.0.dylib           	       0x1048b5594 g_main_context_iteration + 100
41  libgio-2.0.0.dylib            	       0x10540d23d g_application_run + 541
42  libffi.6.dylib                	       0x1005cf8ac ffi_call_unix64 + 76
43  libffi.6.dylib                	       0x1005cee8f ffi_call + 927
44  _gi.cpython-36m-darwin.so     	       0x10445e557 0x10443f000 + 128343
45  _gi.cpython-36m-darwin.so     	       0x10445f437 0x10443f000 + 132151
46  libpython3.6m.dylib           	       0x10284e9f7 PyObject_Call + 87
47  libpython3.6m.dylib           	       0x10290b214 _PyEval_EvalFrameDefault + 23844
48  libpython3.6m.dylib           	       0x10290f0d3 0x102845000 + 827603
49  libpython3.6m.dylib           	       0x102910408 0x102845000 + 832520
50  libpython3.6m.dylib           	       0x10290ecad 0x102845000 + 826541
51  libpython3.6m.dylib           	       0x10290b0a4 _PyEval_EvalFrameDefault + 23476
52  libpython3.6m.dylib           	       0x10290f0d3 0x102845000 + 827603
53  libpython3.6m.dylib           	       0x102910408 0x102845000 + 832520
54  libpython3.6m.dylib           	       0x10290ecad 0x102845000 + 826541
55  libpython3.6m.dylib           	       0x10290b0a4 _PyEval_EvalFrameDefault + 23476
56  libpython3.6m.dylib           	       0x10291036a 0x102845000 + 832362
57  libpython3.6m.dylib           	       0x10290ecad 0x102845000 + 826541
58  libpython3.6m.dylib           	       0x10290b0a4 _PyEval_EvalFrameDefault + 23476
59  libpython3.6m.dylib           	       0x10290f0d3 0x102845000 + 827603
60  libpython3.6m.dylib           	       0x102905480 PyEval_EvalCode + 48
61  libpython3.6m.dylib           	       0x102903505 0x102845000 + 779525
62  libpython3.6m.dylib           	       0x102896566 _PyCFunction_FastCallDict + 150
63  libpython3.6m.dylib           	       0x10290ec10 0x102845000 + 826384
64  libpython3.6m.dylib           	       0x10290b0a4 _PyEval_EvalFrameDefault + 23476
65  libpython3.6m.dylib           	       0x10291036a 0x102845000 + 832362
66  libpython3.6m.dylib           	       0x10290ecad 0x102845000 + 826541
67  libpython3.6m.dylib           	       0x10290b0a4 _PyEval_EvalFrameDefault + 23476
68  libpython3.6m.dylib           	       0x10290f0d3 0x102845000 + 827603
69  libpython3.6m.dylib           	       0x102905480 PyEval_EvalCode + 48
70  libpython3.6m.dylib           	       0x1029d829c PyRun_FileExFlags + 236
71  libpython3.6m.dylib           	       0x1029d799a PyRun_SimpleFileExFlags + 522
72  Meld                          	       0x100002ba6 0x100000000 + 11174
73  Meld                          	       0x100000f9d main + 333
74  Meld                          	       0x100000e24 start + 52

To be clear; the above is related to the last release version, 3.21.0 (r3). Directory diff is working fine in the r4 pre-release.

@marcink
Copy link

marcink commented Dec 19, 2023

I can launch meld on its own, and I can compare individual files, but as soon as I try to compare directories Meld crashes.

Update: fixed by the comment below from syneart

@syneart
Copy link

syneart commented Dec 20, 2023

Meld 3.21.0 (r4) Sonoma at 14.1.2 with Apple silicon

Hope this snippet can help everyone; I've successfully used it myself and wanted to share it with all of you.

https://gist.github.com/syneart/4a8724cd479d31f0f742f499f807dcb2

Screenshot 2023-12-11 at 11 36 07

I'm also testing Meld version 3.21.0 (r4) on the Sonoma system at 14.2 / 14.2.1 with Apple silicon, and it's still functioning properly.

@liamjones
Copy link

I'm continuing to test r4 on Sonoma w/ an Intel chip.

Two things I've encountered that seem unintended;

  • The initial font size in comparisons was tiny - maybe 6 to 8 points? I went into settings to change it and while double clicking on Editor font to change it (which already read Monospace Regular 14) the diff I had open in the background suddenly snapped to text size 14. This might not be related to the new version specifically - this was a fresh install of Meld on a recently wiped machine so I lost all my settings. It might be to do with opening settings for the first time?
  • Right-click context menus are cut off:
    image

@william-wallace-simplisafe

ugh . . .

$ brew reinstall --cask meld
Warning: meld has been deprecated because it is discontinued upstream!

@electriquo
Copy link

@william-wallace-simplisafe let's hope this will revive meld!

@AviBueno
Copy link

Any workaround ideas for this? My OS got upgraded to Sonoma today and not having meld is very crippling :)

@fullheart
Copy link

fullheart commented Jan 23, 2024

I also used Meld for many years. Because of the problems with Sonoma, I have now switched to the great Diff Folders extension for Visual Studio Code: https://marketplace.visualstudio.com/items?itemName=L13RARY.l13-diff&ssr=false#overview

Comparing two folders works very well there and I'm not alone in this opinion.

@AviBueno
Copy link

I've been using meld for.. decades already. My main usage is in conjunction with git-meld, which is not maintained for many years, but still works like a charm.

I now see that after upgrading to 3.21.0 osx3, I'm able to open meld from the launcher, but when running git0-meld from CLI it fails with the below error. I upgraded cairo to 1.18.0, but then realized that Meld comes with pre-packaged libraries, which is why it continues using cairo 1.16.0 (coming from /Users/yousseb, Meld's owner).

Looks like we'll have to wait for a new release, which is hard to predict based on the fact that the latest Meld 3.21.0 was released nearly 4 years ago.. UNLESS someone has an idea on how to bypass the internally packaged libraries and run with system packages instead.

Assertion failed: (!surface->finished), function _cairo_surface_release_source_image, file /Users/yousseb/Source/gtk/cairo-1.16.0/src/cairo-surface.c, line 2092.
Abort trap: 6

@jonee
Copy link

jonee commented Jan 23, 2024

@fullheart @AviBueno this is already a long thread but if you read through there should be a working MacOS build for both Intel and Apple silicon.

@AviBueno looks like you have a different bug. @yousseb packages meld for MacOS but meld itself is an unmaintained Gnome project initiative.

@dehesselle
Copy link

packages meld for MacOS but meld itself is an unmaintained Gnome project initiative.

Where do you get that from? https://gitlab.gnome.org/GNOME/meld/-/commits/main

@AviBueno
Copy link

@jonee @syneart I ran the script from the suggested solution and got a bunch of errors. I had Meld installed via homebrew. Saw that I should use the MacPorts, so I replaced the versions. When I ran the script again I got even more errors (see below).
Noticed that the script is intended for Apple Silicon so maybe it's failing because I have an Intel Core i9 CPU (even though I saw in the script's comments that it also worked for someone with an Intel CPU).

error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: can't open file: /Applications/Meld.app/Contents/Frameworks/libfreetype.6.20.0.dylib (No such file or directory)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: can't open file: /Applications/Meld.app/Contents/Frameworks/libfreetype.6.20.0.dylib (No such file or directory)
xattr: No such file: /Applications/Meld.app
File Doesn't Exist, Will Create: /Applications/Meld.app/Contents/Info.plist
Set: Entry, ":LSRequiresNativeExecution", Does Not Exist
The file /Applications/Meld.app does not exist.

@TurboEncabulator9000
Copy link

It's all well and good that someone has uploaded working binaries, and I respect the effort someone had to go through to publish them.

However, given the popularity of supply chain attacks, for some of us, "built on random (though very nice) guy's machine" is not what we're looking for. We prefer something built in an automated fashion on a clean environment with absolutely zero unrelated stuff touching it, ideally by some pipeline on GitHub. We have no idea what is going on with the security posture of very-nice-random-guy's machine, and it's not a risk we're looking to take.

@syneart
Copy link

syneart commented Jan 24, 2024

@jonee @syneart I ran the script from the suggested solution and got a bunch of errors. I had Meld installed via homebrew. Saw that I should use the MacPorts, so I replaced the versions. When I ran the script again I got even more errors (see below). Noticed that the script is intended for Apple Silicon so maybe it's failing because I have an Intel Core i9 CPU (even though I saw in the script's comments that it also worked for someone with an Intel CPU).

error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: can't open file: /Applications/Meld.app/Contents/Frameworks/libfreetype.6.20.0.dylib (No such file or directory)
error: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/install_name_tool: can't open file: /Applications/Meld.app/Contents/Frameworks/libfreetype.6.20.0.dylib (No such file or directory)
xattr: No such file: /Applications/Meld.app
File Doesn't Exist, Will Create: /Applications/Meld.app/Contents/Info.plist
Set: Entry, ":LSRequiresNativeExecution", Does Not Exist
The file /Applications/Meld.app does not exist.

  1. First, go to https://github.com/yousseb/meld/releases/tag/osx-20 and download the official 3.21.0 osx4 (r4 pre-release) version.
  2. Move the Meld.app file to the /Applications directory.
  3. Execute the hot-fix script at CLI with the following command (only one line):
    curl https://gist.githubusercontent.com/syneart/4a8724cd479d31f0f742f499f807dcb2/raw/meld_hotfix_sonoma.sh | zsh
    --
    Ref. https://gist.github.com/syneart/4a8724cd479d31f0f742f499f807dcb2

@AviBueno
Copy link

Thank you @syneart. Applying the hotfix indeed bypasses the "developer cannot be verified" error, so your script is working.

The problem is that when Meld launches I can see it in the Dock, but it doesn't open any window. Moreover, I cannot launch it from CLI when issuing a simple meld command, so this overall solution doesn't work in my case. I'm just pretty much stuck right now.

@AviBueno
Copy link

Hey, I'd like to share that things started working for me after taking a different route (without patching @syneart's hotfix).

I noticed that installing Meld (version 3.21.0 osx4, tag: osx-20) into the Application's folder will create the files with the "admin" group, but when installing to a folder under my home dir the files are created with the "staff" group.

The steps I took are:

  1. Create a "meld" folder under my home dir and open it in Finder (open ~/meld)
  2. Download 3.21.0 osx4 from github.
    Full link: https://github.com/yousseb/meld/releases/download/osx-20/meldmerge.dmg
  3. Double click meldmerge.dmg
  4. Drag Meld.app to the ~/meld Finder window to copy it
  5. Double click Meld.app in the ~/meld Finder window
    A popup will say: “Meld.app” cannot be opened because the developer cannot be verified.
  6. Click Cancel
  7. CTRL+Click Meld.app in the ~/meld Finder window
  8. Select Open from the popup menu
    A popup will say: macOS cannot verify the developer of “Meld.app”. Are you sure you want to open it?
  9. Click Open
  10. Done! (note that steps 5 and 6 are a prerequisite for the following steps to work)

Once set up, Meld can be opened by double clicking in Finder. But more important for me - it can also be launched via CLI: ~/meld/Meld.app/Contents/MacOS/Meld

Hope this helps someone.

@electriquo
Copy link

I noticed that installing Meld (version 3.21.0 osx4, tag: osx-20) into the Application's folder will create the files with the "admin" group, but when installing to a folder under my home dir the files are created with the "staff" group.

I installed Meld to my applications directory from day one and I still had to patch Meld.

@robwilkerson
Copy link

Using the path @AviBueno detailed, I can run the app and I can even use the CLI to compare files, but comparing directories via the CLI still blows up. The latter is my primary use case, unfortunately.

@AviBueno
Copy link

@robwilkerson It was the same for me but at some point something changed and I'm now able to compare directories, which is the primary use case for me as well.

The "assertion 'GTK_IS_WINDOW (window)' failed" error is still being printed to the console, but where it used to just not do anything after that line, it now launches the main window.

I cannot tell if this happened just by running meld from CLI several times or if there was some system update that enabled it. My currently installed OS version is Sonoma 14.4.1.

@nkoroste
Copy link

nkoroste commented May 5, 2024

Hey, I'd like to share that things started working for me after taking a different route (without patching @syneart's hotfix).

I noticed that installing Meld (version 3.21.0 osx4, tag: osx-20) into the Application's folder will create the files with the "admin" group, but when installing to a folder under my home dir the files are created with the "staff" group.

The steps I took are:

  1. Create a "meld" folder under my home dir and open it in Finder (open ~/meld)
  2. Download 3.21.0 osx4 from github.
    Full link: https://github.com/yousseb/meld/releases/download/osx-20/meldmerge.dmg
  3. Double click meldmerge.dmg
  4. Drag Meld.app to the ~/meld Finder window to copy it
  5. Double click Meld.app in the ~/meld Finder window
    A popup will say: “Meld.app” cannot be opened because the developer cannot be verified.
  6. Click Cancel
  7. CTRL+Click Meld.app in the ~/meld Finder window
  8. Select Open from the popup menu
    A popup will say: macOS cannot verify the developer of “Meld.app”. Are you sure you want to open it?
  9. Click Open
  10. Done! (note that steps 5 and 6 are a prerequisite for the following steps to work)

Once set up, Meld can be opened by double clicking in Finder. But more important for me - it can also be launched via CLI: ~/meld/Meld.app/Contents/MacOS/Meld

Hope this helps someone.

Trying to follow these steps but in Steps 5 and 6 I get You can’t open the application “Meld.app” because this application is not supported on this Mac. - I'm on Sonoma 14.4.1 on an M3. Any suggestions how to proceed?

@AviBueno
Copy link

AviBueno commented May 5, 2024

@nkoroste I'm on the same Sonoma version but with the Intel core i9 flavor. Not familiar with this error and maybe someone else could better help. Until then I don't have much to offer other than the seemingly dumb notion to retry the operation and see if it gets untangled at some point.

@robwilkerson
Copy link

@nkoroste - Might help to follow the conversation over here. @syneart has done some awesome work patching the r4 release and I can now open the app as well as run diffs from the command line.

@k4u5hik
Copy link

k4u5hik commented Aug 19, 2024

@robwilkerson is right. I used the hot fix from @syneart linked above and it is working perfectly now.

@aurelien-baudin
Copy link

aurelien-baudin commented Aug 19, 2024

Any chance to have an official release with the fix in the coming days ?
It's been a while since the latest version available on github or brew is broken

#162

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests