@HIRAM I will put the commit hash in the package name, for better reference.
My idea would be to provide compatible plug-ins as separate packages, thus also giving an example of how to package [plug-ins for OSX.
Did you already try to ru n the package?
HIRAM
(Richard E Barber)
May 20, 2018, 1:44pm
4
Package works for me in macOS 10.12. I’ve also been able to duplicate a certain gegl crash I get in mcgimp.
I guess this is also limited to single cpu, and I see there is no OpenMP included.
Could you give me some instructions to reproduce it? I’ve volunteered to do some OSX-specific bug hunting…
HIRAM
(Richard E Barber)
May 20, 2018, 10:33pm
6
All you have to do to crash is open this xcf
and Flatten Image from the Layers window menu -or- Merge Down the top layer from the Layer menu.
[obsolete file link removed]
This is the error with Merge Down:
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: gimp-2.10 [14430]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 libsystem_kernel.dylib 0x00007fffe976427e _kernelrpc_mach_vm_deallocate_trap + 10
1 libsystem_kernel.dylib 0x00007fffe976a8f4 mach_vm_deallocate + 64
2 libsystem_malloc.dylib 0x00007fffe97c5290 deallocate_pages + 57
3 libsystem_malloc.dylib 0x00007fffe97c455b free_large + 844
4 libgegl-0.4.0.dylib 0x00000001030e79e8 gegl_free + 104
5 libgegl-0.4.0.dylib 0x00000001030ff728 release_tile + 312
6 libgegl-0.4.0.dylib 0x00000001030fee56 gegl_buffer_iterator_next + 742
7 libgegl-0.4.0.dylib 0x0000000103130320 thread_process + 384
8 libgegl-0.4.0.dylib 0x000000010312fae2 gegl_operation_point_composer3_process + 1618
9 libgegl-0.4.0.dylib 0x000000010312ff83 gegl_operation_composer3_process + 339
10 GIMP 0x00000001024058eb gimp_operation_layer_mode_parent_process + 923
11 libgegl-0.4.0.dylib 0x0000000103127c50 gegl_operation_process + 608
12 libgegl-0.4.0.dylib 0x0000000103141302 gegl_graph_process + 642
13 libgegl-0.4.0.dylib 0x00000001031403d3 gegl_eval_manager_apply + 627
14 libgegl-0.4.0.dylib 0x0000000103137b79 gegl_node_blit_buffer + 169
15 GIMP 0x000000010231282e gimp_image_merge_layers + 3246
16 GIMP 0x0000000102313676 gimp_image_merge_down + 1862
17 GIMP 0x0000000101e82f8d layers_merge_down_cmd_callback + 125
18 libgobject-2.0.0.dylib 0x00000001034d54d6 g_closure_invoke + 258
19 libgobject-2.0.0.dylib 0x00000001034ea4d7 signal_emit_unlocked_R + 1735
20 libgobject-2.0.0.dylib 0x00000001034eb1ef g_signal_emit_valist + 2039
21 libgobject-2.0.0.dylib 0x00000001034eb8a6 g_signal_emit + 134
22 libgtk-quartz-2.0.0.dylib 0x00000001028b852e _gtk_action_emit_activate + 68
23 libgobject-2.0.0.dylib 0x00000001034d54d6 g_closure_invoke + 258
24 libgobject-2.0.0.dylib 0x00000001034ea2bf signal_emit_unlocked_R + 1199
25 libgobject-2.0.0.dylib 0x00000001034eb1ef g_signal_emit_valist + 2039
26 libgobject-2.0.0.dylib 0x00000001034eb8a6 g_signal_emit + 134
27 libgobject-2.0.0.dylib 0x00000001034d54d6 g_closure_invoke + 258
28 libgtkmacintegration-gtk2.2.dylib 0x0000000102893f0b idle_call_activate + 79
29 libgdk-quartz-2.0.0.dylib 0x0000000102c5f186 gdk_threads_dispatch + 53
30 libglib-2.0.0.dylib 0x0000000103547df5 g_main_context_dispatch + 266
31 libglib-2.0.0.dylib 0x00000001035480e6 g_main_context_iterate + 418
32 libglib-2.0.0.dylib 0x000000010354833c g_main_loop_run + 207
33 GIMP 0x0000000101e47fa9 app_run + 2169
34 GIMP 0x0000000101e4b72a main + 1402
35 libdyld.dylib 0x00007fffe963d235 start + 1
HIRAM:
SIGILL
Well, SIGILL should be easier to find and fix than SIGSEGV
Could you please try with this new package ? I have fixed the architecture compiler flags, now everything is built with -march=nocona -mno-sse3 -mtune=generic
, which should be safe for most of the modern CPUs.
Thanks!
HIRAM
(Richard E Barber)
May 21, 2018, 2:08pm
9
Im still having this error with Flatten Image.
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: gimp-2.10 [22877]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 GIMP 0x0000000102fedaeb gimp_operation_layer_mode_real_process + 1035
1 GIMP 0x0000000102fed6d1 gimp_operation_layer_mode_process + 113
2 libgegl-0.4.0.dylib 0x0000000103d16469 thread_process + 713
3 libgegl-0.4.0.dylib 0x0000000103d15ae2 gegl_operation_point_composer3_process + 1618
4 libgegl-0.4.0.dylib 0x0000000103d15f83 gegl_operation_composer3_process + 339
5 GIMP 0x0000000102fed64b gimp_operation_layer_mode_parent_process + 923
6 libgegl-0.4.0.dylib 0x0000000103d0dc50 gegl_operation_process + 608
7 libgegl-0.4.0.dylib 0x0000000103d27302 gegl_graph_process + 642
8 libgegl-0.4.0.dylib 0x0000000103d263d3 gegl_eval_manager_apply + 627
9 libgegl-0.4.0.dylib 0x0000000103d1db79 gegl_node_blit_buffer + 169
10 GIMP 0x0000000102efa58e gimp_image_merge_layers + 3246
11 GIMP 0x0000000102efabf4 gimp_image_flatten + 804
12 GIMP 0x0000000102a64a66 image_flatten_image_cmd_callback + 118
13 libgobject-2.0.0.dylib 0x00000001040b54d6 g_closure_invoke + 258
14 libgobject-2.0.0.dylib 0x00000001040ca4d7 signal_emit_unlocked_R + 1735
15 libgobject-2.0.0.dylib 0x00000001040cb1ef g_signal_emit_valist + 2039
16 libgobject-2.0.0.dylib 0x00000001040cb8a6 g_signal_emit + 134
17 libgtk-quartz-2.0.0.dylib 0x000000010349b52e _gtk_action_emit_activate + 68
18 libgobject-2.0.0.dylib 0x00000001040b54d6 g_closure_invoke + 258
19 libgobject-2.0.0.dylib 0x00000001040ca2bf signal_emit_unlocked_R + 1199
20 libgobject-2.0.0.dylib 0x00000001040cb1ef g_signal_emit_valist + 2039
21 libgobject-2.0.0.dylib 0x00000001040cb8a6 g_signal_emit + 134
22 libgtk-quartz-2.0.0.dylib 0x0000000103641cd7 gtk_widget_activate + 73
23 libgtk-quartz-2.0.0.dylib 0x00000001035571ea gtk_menu_shell_activate_item + 241
24 libgtk-quartz-2.0.0.dylib 0x0000000103557d94 gtk_menu_shell_button_release + 576
25 libgtk-quartz-2.0.0.dylib 0x00000001035475bf _gtk_marshal_BOOLEAN__BOXED + 95
26 libgobject-2.0.0.dylib 0x00000001040b54d6 g_closure_invoke + 258
27 libgobject-2.0.0.dylib 0x00000001040ca62a signal_emit_unlocked_R + 2074
28 libgobject-2.0.0.dylib 0x00000001040cb24b g_signal_emit_valist + 2131
29 libgobject-2.0.0.dylib 0x00000001040cb8a6 g_signal_emit + 134
30 libgtk-quartz-2.0.0.dylib 0x0000000103641ae5 gtk_widget_event_internal + 573
31 libgtk-quartz-2.0.0.dylib 0x00000001035453f0 gtk_propagate_event + 316
32 libgtk-quartz-2.0.0.dylib 0x0000000103545004 gtk_main_do_event + 784
33 libgdk-quartz-2.0.0.dylib 0x00000001038770fb gdk_event_dispatch + 84
34 libglib-2.0.0.dylib 0x0000000104128df5 g_main_context_dispatch + 266
35 libglib-2.0.0.dylib 0x00000001041290e6 g_main_context_iterate + 418
36 libglib-2.0.0.dylib 0x000000010412933c g_main_loop_run + 207
37 GIMP 0x0000000102a2fc29 app_run + 2169
38 GIMP 0x0000000102a333aa main + 1402
39 libdyld.dylib 0x00007fffe963d235 start + 1
@HIRAM I can reproduce the crash, but it does not seem to be related to unsupported CPU instructions… Would it be OK if I post a bug report on bugzilla and I provide your XCF file for reproducibility?
HIRAM
(Richard E Barber)
May 21, 2018, 7:06pm
11
No prob, go right ahead and make a bug report with it.
Iirc you can also get a SIGILL when using a legal instruction which requires aligned memory on unaligned memory. Just a thought…
The crash happens at this line , which looks like some simple C code without any special memory alignment requirement…
Well, as blend_out basically is assigned from a void*
void *out_p,
.
.
.
gfloat *out = out_p;
.
.
.
blend_out = out;
it is possibly not aligned to float…
I’ve posted the bug report here . Meanwhile, I have prepared a new package with debugging symbols, so that we can obtain more informative backtraces: https://github.com/aferrero2707/gimp-osx/releases/download/continuous/gimp-osx-git-dbg-2.10.3-20180521.dmg
HIRAM
(Richard E Barber)
May 22, 2018, 3:48pm
16
The crash report for Flatten Image is slightly different in this build:
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: gimp-2.10 [37535]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 gegl-fixups.so 0x0000000102801a69 conv_rgba8_rgbaF + 41
1 libbabl-0.1.0.dylib 0x00000001017feec9 babl_process_rows + 233
2 libgegl-0.4.0.dylib 0x0000000101599fae gegl_buffer_iterate_read_simple + 1134
3 libgegl-0.4.0.dylib 0x0000000101599715 gegl_buffer_iterate_read_dispatch + 997
4 libgegl-0.4.0.dylib 0x0000000101594041 _gegl_buffer_get_unlocked + 865
5 libgegl-0.4.0.dylib 0x0000000101593cd7 gegl_buffer_get_unlocked + 71
6 libgegl-0.4.0.dylib 0x000000010159db88 get_indirect + 184
7 libgegl-0.4.0.dylib 0x000000010159d469 load_rects + 89
8 libgegl-0.4.0.dylib 0x000000010159ce84 gegl_buffer_iterator_next + 804
9 libgegl-0.4.0.dylib 0x00000001015ce320 thread_process + 384
10 libgegl-0.4.0.dylib 0x00000001015cdae2 gegl_operation_point_composer3_process + 1618
11 libgegl-0.4.0.dylib 0x00000001015cdf83 gegl_operation_composer3_process + 339
12 GIMP 0x00000001008ac64b gimp_operation_layer_mode_parent_process + 923
13 libgegl-0.4.0.dylib 0x00000001015c5c50 gegl_operation_process + 608
14 libgegl-0.4.0.dylib 0x00000001015df302 gegl_graph_process + 642
15 libgegl-0.4.0.dylib 0x00000001015de3d3 gegl_eval_manager_apply + 627
16 libgegl-0.4.0.dylib 0x00000001015d5b79 gegl_node_blit_buffer + 169
17 GIMP 0x00000001007b958e gimp_image_merge_layers + 3246
18 GIMP 0x00000001007ba3d6 gimp_image_merge_down + 1862
19 GIMP 0x0000000100329c0d layers_merge_down_cmd_callback + 125
20 libgobject-2.0.0.dylib 0x00000001019624d6 g_closure_invoke + 258
21 libgobject-2.0.0.dylib 0x00000001019774d7 signal_emit_unlocked_R + 1735
22 libgobject-2.0.0.dylib 0x00000001019781ef g_signal_emit_valist + 2039
23 libgobject-2.0.0.dylib 0x00000001019788a6 g_signal_emit + 134
24 libgtk-quartz-2.0.0.dylib 0x0000000100d5952e _gtk_action_emit_activate + 68
25 libgobject-2.0.0.dylib 0x00000001019624d6 g_closure_invoke + 258
26 libgobject-2.0.0.dylib 0x00000001019772bf signal_emit_unlocked_R + 1199
27 libgobject-2.0.0.dylib 0x00000001019781ef g_signal_emit_valist + 2039
28 libgobject-2.0.0.dylib 0x00000001019788a6 g_signal_emit + 134
29 libgobject-2.0.0.dylib 0x00000001019624d6 g_closure_invoke + 258
30 libgtkmacintegration-gtk2.2.dylib 0x0000000100d38f0b idle_call_activate + 79
31 libgdk-quartz-2.0.0.dylib 0x0000000101106186 gdk_threads_dispatch + 53
32 libglib-2.0.0.dylib 0x00000001019d3df5 g_main_context_dispatch + 266
33 libglib-2.0.0.dylib 0x00000001019d40e6 g_main_context_iterate + 418
34 libglib-2.0.0.dylib 0x00000001019d433c g_main_loop_run + 207
35 GIMP 0x00000001002eec29 app_run + 2169
36 GIMP 0x00000001002f23aa main + 1402
37 libdyld.dylib 0x00007fffe963d235 start + 1
As is the report from Merge Down:
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: gimp-2.10 [37640]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 GIMP 0x0000000100f01b91 gimp_operation_layer_mode_composite_clip_to_backdrop + 33
1 GIMP 0x0000000100efdefa gimp_operation_layer_mode_real_process + 2074
2 GIMP 0x0000000100efd6d1 gimp_operation_layer_mode_process + 113
3 libgegl-0.4.0.dylib 0x0000000101c29469 thread_process + 713
4 libgegl-0.4.0.dylib 0x0000000101c28ae2 gegl_operation_point_composer3_process + 1618
5 libgegl-0.4.0.dylib 0x0000000101c28f83 gegl_operation_composer3_process + 339
6 GIMP 0x0000000100efd64b gimp_operation_layer_mode_parent_process + 923
7 libgegl-0.4.0.dylib 0x0000000101c20c50 gegl_operation_process + 608
8 libgegl-0.4.0.dylib 0x0000000101c3a302 gegl_graph_process + 642
9 libgegl-0.4.0.dylib 0x0000000101c393d3 gegl_eval_manager_apply + 627
10 libgegl-0.4.0.dylib 0x0000000101c30b79 gegl_node_blit_buffer + 169
11 GIMP 0x0000000100e0a58e gimp_image_merge_layers + 3246
12 GIMP 0x0000000100e0b3d6 gimp_image_merge_down + 1862
13 GIMP 0x000000010097ac0d layers_merge_down_cmd_callback + 125
14 libgobject-2.0.0.dylib 0x0000000101fc24d6 g_closure_invoke + 258
15 libgobject-2.0.0.dylib 0x0000000101fd74d7 signal_emit_unlocked_R + 1735
16 libgobject-2.0.0.dylib 0x0000000101fd81ef g_signal_emit_valist + 2039
17 libgobject-2.0.0.dylib 0x0000000101fd88a6 g_signal_emit + 134
18 libgtk-quartz-2.0.0.dylib 0x00000001013b052e _gtk_action_emit_activate + 68
19 libgobject-2.0.0.dylib 0x0000000101fc24d6 g_closure_invoke + 258
20 libgobject-2.0.0.dylib 0x0000000101fd72bf signal_emit_unlocked_R + 1199
21 libgobject-2.0.0.dylib 0x0000000101fd81ef g_signal_emit_valist + 2039
22 libgobject-2.0.0.dylib 0x0000000101fd88a6 g_signal_emit + 134
23 libgobject-2.0.0.dylib 0x0000000101fc24d6 g_closure_invoke + 258
24 libgtkmacintegration-gtk2.2.dylib 0x000000010138cf0b idle_call_activate + 79
25 libgdk-quartz-2.0.0.dylib 0x000000010175c186 gdk_threads_dispatch + 53
26 libglib-2.0.0.dylib 0x0000000102034df5 g_main_context_dispatch + 266
27 libglib-2.0.0.dylib 0x00000001020350e6 g_main_context_iterate + 418
28 libglib-2.0.0.dylib 0x000000010203533c g_main_loop_run + 207
29 GIMP 0x000000010093fc29 app_run + 2169
30 GIMP 0x00000001009433aa main + 1402
31 libdyld.dylib 0x00007fffe963d235 start + 1
1 Like
HIRAM
(Richard E Barber)
May 22, 2018, 3:52pm
17
PS, the Flatten Image crash also gives this reportage:
Crashed Thread: 0 Dispatch queue: com.apple.main-thread
Exception Type: EXC_CRASH (SIGILL)
Exception Codes: 0x0000000000000000, 0x0000000000000000
Exception Note: EXC_CORPSE_NOTIFY
Termination Signal: Illegal instruction: 4
Termination Reason: Namespace SIGNAL, Code 0x4
Terminating Process: gimp-2.10 [37640]
Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0 GIMP 0x0000000100f01b91 gimp_operation_layer_mode_composite_clip_to_backdrop + 33
1 GIMP 0x0000000100efdefa gimp_operation_layer_mode_real_process + 2074
2 GIMP 0x0000000100efd6d1 gimp_operation_layer_mode_process + 113
3 libgegl-0.4.0.dylib 0x0000000101c29469 thread_process + 713
4 libgegl-0.4.0.dylib 0x0000000101c28ae2 gegl_operation_point_composer3_process + 1618
5 libgegl-0.4.0.dylib 0x0000000101c28f83 gegl_operation_composer3_process + 339
6 GIMP 0x0000000100efd64b gimp_operation_layer_mode_parent_process + 923
7 libgegl-0.4.0.dylib 0x0000000101c20c50 gegl_operation_process + 608
8 libgegl-0.4.0.dylib 0x0000000101c3a302 gegl_graph_process + 642
9 libgegl-0.4.0.dylib 0x0000000101c393d3 gegl_eval_manager_apply + 627
10 libgegl-0.4.0.dylib 0x0000000101c30b79 gegl_node_blit_buffer + 169
11 GIMP 0x0000000100e0a58e gimp_image_merge_layers + 3246
12 GIMP 0x0000000100e0b3d6 gimp_image_merge_down + 1862
13 GIMP 0x000000010097ac0d layers_merge_down_cmd_callback + 125
14 libgobject-2.0.0.dylib 0x0000000101fc24d6 g_closure_invoke + 258
15 libgobject-2.0.0.dylib 0x0000000101fd74d7 signal_emit_unlocked_R + 1735
16 libgobject-2.0.0.dylib 0x0000000101fd81ef g_signal_emit_valist + 2039
17 libgobject-2.0.0.dylib 0x0000000101fd88a6 g_signal_emit + 134
18 libgtk-quartz-2.0.0.dylib 0x00000001013b052e _gtk_action_emit_activate + 68
19 libgobject-2.0.0.dylib 0x0000000101fc24d6 g_closure_invoke + 258
20 libgobject-2.0.0.dylib 0x0000000101fd72bf signal_emit_unlocked_R + 1199
21 libgobject-2.0.0.dylib 0x0000000101fd81ef g_signal_emit_valist + 2039
22 libgobject-2.0.0.dylib 0x0000000101fd88a6 g_signal_emit + 134
23 libgobject-2.0.0.dylib 0x0000000101fc24d6 g_closure_invoke + 258
24 libgtkmacintegration-gtk2.2.dylib 0x000000010138cf0b idle_call_activate + 79
25 libgdk-quartz-2.0.0.dylib 0x000000010175c186 gdk_threads_dispatch + 53
26 libglib-2.0.0.dylib 0x0000000102034df5 g_main_context_dispatch + 266
27 libglib-2.0.0.dylib 0x00000001020350e6 g_main_context_iterate + 418
28 libglib-2.0.0.dylib 0x000000010203533c g_main_loop_run + 207
29 GIMP 0x000000010093fc29 app_run + 2169
30 GIMP 0x00000001009433aa main + 1402
31 libdyld.dylib 0x00007fffe963d235 start + 1
1 Like
This smells like some kind of memory corruption… I will see if this is reproducible under Linux, and if valgrind can shed some more light on what is going on.
HIRAM
(Richard E Barber)
May 26, 2018, 6:37am
19
Go ahead and trigger your Continuous Build, DrRaw!
Just started it, will let you know when it is ready…
The updated package is ready: https://github.com/aferrero2707/gimp-osx/releases/download/continuous/gimp-osx-git-2.10.3-20180526.dmg
I did a quick test, and the crash does not occur anymore. However I did not perform yet in-depth tests…
HIRAM
(Richard E Barber)
May 26, 2018, 8:34am
22
Good news, I’ll download it later this morning…zzz