I am setting-up an automated build system for OSX GIMP packages, very similar to the one I am already providing for the Linux AppImage packages.
The .dmg package is entirely compiled and bundled on Travis-CI, and directly uploaded back to github, so there is virtually no risk of viruses or other malware.
If you are a MacOS user and are willing to help improving the automated .dmg packages, please grab the first experimental package from here , and report any problem you might encounter.
Already known issues:
python plug-ins do not (yet) work
internationalisation is not yet tested
Thanks!
1 Like
HIRAM
(Richard E Barber)
May 20, 2018, 12:18pm
2
Thanks for the build. This is significantly lighter-weight than McGimp, 100 vs 400 MB, but things are missing, GMIC, qt, X11. It would be nice for GIMP testing purposes to have the commit number available within the app about box and/or in the Info.plist version.
@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…