Xpra: Ticket #1938: GTK3 macos builds crash when showing the file browser

As reported here: ticket:1919#comment:4.

From the launcher, click 'Load' and get a crash.

Here's the backtrace up to dialog run:

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   libglib-2.0.0.dylib           	0x0000000109190c0c _g_log_abort + 76
1   libglib-2.0.0.dylib           	0x0000000109191551 g_log_structured_array + 353
2   libglib-2.0.0.dylib           	0x00000001091908b2 g_log_default_handler + 338
3   libglib-2.0.0.dylib           	0x00000001091902d6 g_logv + 1366
4   libglib-2.0.0.dylib           	0x000000010918fd49 g_log + 361
5   libgio-2.0.0.dylib            	0x00000001094253c1 g_settings_set_property + 353
6   libgobject-2.0.0.dylib        	0x00000001094e5ad6 object_set_property + 566
7   libgobject-2.0.0.dylib        	0x00000001094e4e1b g_object_new_internal + 395
8   libgobject-2.0.0.dylib        	0x00000001094e4b81 g_object_new_valist + 2337
9   libgobject-2.0.0.dylib        	0x00000001094e3e78 g_object_new + 472
10  libgio-2.0.0.dylib            	0x00000001094204a7 g_settings_new + 103
11  libgtk-3.0.dylib              	0x000000010df0898b _gtk_file_chooser_get_settings_for_widget + 107
12  libgtk-3.0.dylib              	0x000000010df185a4 gtk_file_chooser_widget_get_default_size + 52
13  libgtk-3.0.dylib              	0x000000010df02a57 _gtk_file_chooser_embed_get_default_size + 359
14  libgtk-3.0.dylib              	0x000000010df01bd2 file_chooser_widget_default_size_changed + 130
15  libgobject-2.0.0.dylib        	0x00000001094dd53c g_cclosure_marshal_VOID__VOID + 236
16  libgobject-2.0.0.dylib        	0x00000001094d91d0 g_closure_invoke + 528
17  libgobject-2.0.0.dylib        	0x00000001094fb3e3 signal_emit_unlocked_R + 1619
18  libgobject-2.0.0.dylib        	0x00000001094fd1b3 g_signal_emit_valist + 5955
19  libgobject-2.0.0.dylib        	0x00000001094fdd9d g_signal_emit_by_name + 573
20  libgtk-3.0.dylib              	0x000000010df0ddce emit_default_size_changed + 30
21  libgtk-3.0.dylib              	0x000000010df0bb5c gtk_file_chooser_widget_style_updated + 92
22  libgobject-2.0.0.dylib        	0x00000001094dd53c g_cclosure_marshal_VOID__VOID + 236
23  libgobject-2.0.0.dylib        	0x00000001094d9d18 g_type_class_meta_marshal + 120
24  libgobject-2.0.0.dylib        	0x00000001094d91d0 g_closure_invoke + 528
25  libgobject-2.0.0.dylib        	0x00000001094fb058 signal_emit_unlocked_R + 712
26  libgobject-2.0.0.dylib        	0x00000001094fd1b3 g_signal_emit_valist + 5955
27  libgobject-2.0.0.dylib        	0x00000001094fdb24 g_signal_emit + 356
28  libgtk-3.0.dylib              	0x000000010e1f784f _gtk_widget_style_context_invalidated + 31
29  libgtk-3.0.dylib              	0x000000010e0e8aa8 gtk_style_context_real_changed + 184
30  libgobject-2.0.0.dylib        	0x00000001094dd53c g_cclosure_marshal_VOID__VOID + 236
31  libgobject-2.0.0.dylib        	0x00000001094d9d18 g_type_class_meta_marshal + 120
32  libgobject-2.0.0.dylib        	0x00000001094d91d0 g_closure_invoke + 528
33  libgobject-2.0.0.dylib        	0x00000001094fb058 signal_emit_unlocked_R + 712
34  libgobject-2.0.0.dylib        	0x00000001094fd1b3 g_signal_emit_valist + 5955
35  libgobject-2.0.0.dylib        	0x00000001094fdb24 g_signal_emit + 356
36  libgtk-3.0.dylib              	0x000000010e0e60f4 gtk_style_context_validate + 292
37  libgtk-3.0.dylib              	0x000000010dec400d gtk_css_widget_node_validate + 141
38  libgtk-3.0.dylib              	0x000000010de9a962 gtk_css_node_validate_internal + 130
39  libgtk-3.0.dylib              	0x000000010de9a9a3 gtk_css_node_validate_internal + 195
40  libgtk-3.0.dylib              	0x000000010de9a9a3 gtk_css_node_validate_internal + 195
41  libgtk-3.0.dylib              	0x000000010de9a9e6 gtk_css_node_validate + 38
42  libgtk-3.0.dylib              	0x000000010e215224 gtk_window_show + 116
43  libgobject-2.0.0.dylib        	0x00000001094dd53c g_cclosure_marshal_VOID__VOID + 236
44  libgobject-2.0.0.dylib        	0x00000001094d9d18 g_type_class_meta_marshal + 120
45  libgobject-2.0.0.dylib        	0x00000001094d91d0 g_closure_invoke + 528
46  libgobject-2.0.0.dylib        	0x00000001094fb058 signal_emit_unlocked_R + 712
47  libgobject-2.0.0.dylib        	0x00000001094fd1b3 g_signal_emit_valist + 5955
48  libgobject-2.0.0.dylib        	0x00000001094fdb24 g_signal_emit + 356
49  libgtk-3.0.dylib              	0x000000010e1df004 gtk_widget_show + 420
50  libgtk-3.0.dylib              	0x000000010dec66ec gtk_dialog_run + 332


Thu, 23 Aug 2018 08:10:19 GMT - Antoine Martin: status changed; resolution set

r20165 triggers the same code, and doesn't crash. That's because I am running it from the jhbuild env, not the packaged installed version... and the GTK3 glib schemas are missing, causing GTK3 to crash hard. r20167 fixes that. (will backport)

Why on earth does GTK3 decide to crash hard, without even a warning, instead of continuing with sane defaults?


Thu, 23 Aug 2018 08:14:38 GMT - Antoine Martin: attachment set

crash report


Thu, 23 Aug 2018 08:16:14 GMT - Antoine Martin: description changed


Sat, 23 Jan 2021 05:37:49 GMT - migration script:

this ticket has been moved to: https://github.com/Xpra-org/xpra/issues/1938