[macOS] Crash with Cairo renderer
How to reproduce:
Open gtk4-demo, then click on the hamburger menu > about GTK demo.
Here's a stacktrace:
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_platform.dylib 0x00007fff6ecae890 _platform_memmove$VARIANT$Nehalem + 112
1 libgtk-4.1.dylib 0x000000010af8474d copy_surface_data + 541 (gdkmacoscairocontext.c:184)
2 libgtk-4.1.dylib 0x000000010af83feb _gdk_macos_cairo_context_begin_frame + 507 (gdkmacoscairocontext.c:236)
3 libgtk-4.1.dylib 0x000000010afce1f3 gdk_draw_context_begin_frame_full + 419 (gdkdrawcontext.c:374)
4 libgtk-4.1.dylib 0x000000010afce046 gdk_draw_context_begin_frame + 326 (gdkdrawcontext.c:315)
5 libgtk-4.1.dylib 0x000000010b005a9a gsk_cairo_renderer_render + 90 (gskcairorenderer.c:172)
6 libgtk-4.1.dylib 0x000000010b00a44b gsk_renderer_render + 635 (gskrenderer.c:466)
7 libgtk-4.1.dylib 0x000000010ad3c94f gtk_widget_render + 287 (gtkwidget.c:11937)
8 libgtk-4.1.dylib 0x000000010ad56345 surface_render + 37 (gtkwindow.c:4740)
9 libgtk-4.1.dylib 0x000000010af80b6d _gdk_marshal_BOOLEAN__BOXEDv + 461 (gdkmarshalers.c:130)
10 libgobject-2.0.0.dylib 0x000000010c3fcc76 _g_closure_invoke_va + 598 (gclosure.c:900)
11 libgobject-2.0.0.dylib 0x000000010c421a15 g_signal_emit_valist + 1861 (gsignal.c:3462)
12 libgobject-2.0.0.dylib 0x000000010c42324f g_signal_emit + 383 (gsignal.c:3606)
13 libgtk-4.1.dylib 0x000000010affcab7 gdk_surface_paint_on_clock + 391 (gdksurface.c:1379)
14 libgobject-2.0.0.dylib 0x000000010c400ae0 g_cclosure_marshal_VOID__VOID + 224 (gmarshal.c:119)
15 libgobject-2.0.0.dylib 0x000000010c3fc80a g_closure_invoke + 570 (gclosure.c:837)
16 libgobject-2.0.0.dylib 0x000000010c420c75 signal_emit_unlocked_R + 1525 (gsignal.c:3801)
17 libgobject-2.0.0.dylib 0x000000010c4228c6 g_signal_emit_valist + 5622 (gsignal.c:3549)
18 libgobject-2.0.0.dylib 0x000000010c42324f g_signal_emit + 383 (gsignal.c:3606)
19 libgtk-4.1.dylib 0x000000010afdb7aa _gdk_frame_clock_emit_paint + 42 (gdkframeclock.c:710)
20 libgtk-4.1.dylib 0x000000010afdd073 gdk_frame_clock_paint_idle + 1363 (gdkframeclockidle.c:611)
21 libglib-2.0.0.dylib 0x000000010c2716f3 g_timeout_dispatch + 131 (gmain.c:5017)
22 libglib-2.0.0.dylib 0x000000010c276c2b g_main_dispatch + 427 (gmain.c:3454)
23 libglib-2.0.0.dylib 0x000000010c276a70 g_main_context_dispatch + 48 (gmain.c:4177)
24 libglib-2.0.0.dylib 0x000000010c276f9b g_main_context_iterate + 459 (gmain.c:4250)
25 libglib-2.0.0.dylib 0x000000010c277013 g_main_context_iteration + 83 (gmain.c:4313)
26 libgio-2.0.0.dylib 0x000000010c57d016 g_application_run + 1014 (gapplication.c:2574)
27 gtk4-demo 0x000000010a3d378b main + 843 (main.c:1113)
28 libdyld.dylib 0x00007fff6eab1cc9 start + 1
Process: gtk4-demo [30703]
Path: /Users/USER/*/gtk4-demo
Identifier: gtk4-demo
Version: 0
Code Type: X86-64 (Native)
Parent Process: bash [28092]
Responsible: Terminal [28088]
User ID: 545
Date/Time: 2023-05-06 14:13:02.267 +0200
OS Version: Mac OS X 10.15.7 (19H2026)
Report Version: 12
Anonymous UUID: 17CA760E-D950-4BD1-3359-D8696FD97E93
Time Awake Since Boot: 43000 seconds
System Integrity Protection: disabled
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000211e67ffc
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [30703]
VM Regions Near 0x211e67ffc:
mapped file 00000001125e9000-00000001128f7000 [ 3128K] r--/rwx SM=COW Object_id=d1bbce11
-->
STACK GUARD 000070000855e000-000070000855f000 [ 4K] ---/rwx SM=NUL stack guard for thread 1
Edited by Luca Bacci