#45309: gimp2 @2.8.14 on 10.9 - doesn't load plug-ins ---------------------------+---------------------- Reporter: and.damore@… | Owner: devans@… Type: defect | Status: assigned Priority: Normal | Milestone: Component: ports | Version: Resolution: | Keywords: Port: gimp2 | ---------------------------+---------------------- Comment (by devans@…): Status: So far I've been able to confirm that the dbus issue and the failing plugins have a common element: they both involve spawning a child process that terminates prematurely. In the dbus case, g_dbus_address_get_for_bus_sync() attempts to execute the launchctl command in a spawned child process which reports killed by signal 11. However, this only happens when running gimp. For example, running eog (or most other GNOME apps) the child process is spawned successfully and the correct result returned. {{{ $ eog GDBus-debug:Address: In g_dbus_address_get_for_bus_sync() for bus type 'session' GDBus-debug:Address: env var DBUS_SESSION_BUS_ADDRESS is not set GDBus-debug:Address: env var DBUS_SYSTEM_BUS_ADDRESS is not set GDBus-debug:Address: env var DBUS_STARTER_BUS_TYPE is not set GDBus-debug:Address: launchctl command line: `launchctl getenv DBUS_LAUNCHD_SESSION_BUS_SOCKET' GDBus-debug:Address: launchctl stdout: 0000: 2f 74 6d 70 2f 6c 61 75 6e 63 68 2d 37 4d 46 69 /tmp/launch- 7MFi 0010: 64 37 2f 75 6e 69 78 5f 64 6f 6d 61 69 6e 5f 6c d7/unix_domain_l 0020: 69 73 74 65 6e 65 72 0a 00 istener.. GDBus-debug:Address: Returning address 'unix:path=/tmp/launch- 7MFid7/unix_domain_listener' for bus type 'session' }}} In the case of the GIMP plugins, the failure point occurs when GIMP is querying the individual plugins for their characteristics. The plugin is executed as a child process which communicates bidirectionally with the main program using a pair of pipes. After sending a query command to each plugin, the main process attempts to read an expected response but immediately gets an EOF instead and the plugin is skipped. A crash report for the child is produced as follows: {{{ Process: gimp-2.8 [62774] Path: /opt/local/bin/gimp-2.8 Identifier: gimp-2.8 Version: ??? Code Type: X86-64 (Native) Parent Process: gimp-2.8 [62731] Responsible: Terminal [361] User ID: 501 Date/Time: 2014-10-09 12:14:46.255 -0700 OS Version: Mac OS X 10.9.5 (13F34) Report Version: 11 Anonymous UUID: 25BD4C19-81DA-575C-A9EB-3C11B6BF2F84 Crashed Thread: 0 Dispatch queue: com.apple.main-thread Exception Type: EXC_BAD_ACCESS (SIGSEGV) Exception Codes: KERN_INVALID_ADDRESS at 0x00000001118b69b5 VM Regions Near 0x1118b69b5: __LINKEDIT 0000000110f36000-0000000110f47000 [ 68K] r--/rwx SM=COW /opt/local/lib/*.dylib --> MALLOC_TINY 00007ff479400000-00007ff479800000 [ 4096K] rw-/rwx SM=COW Application Specific Information: *** multi-threaded process forked *** crashed on child side of fork pre-exec Thread 0 Crashed:: Dispatch queue: com.apple.main-thread 0 ??? 0x00000001118b69b5 0 + 4589316533 1 libsystem_pthread.dylib 0x00007fff85d06f5b _pthread_fork_child_postinit + 69 2 libsystem_c.dylib 0x00007fff85c0317e fork + 29 3 libglib-2.0.0.dylib 0x000000010f692067 fork_exec_with_pipes + 695 (gspawn.c:1337) 4 libglib-2.0.0.dylib 0x000000010f691293 g_spawn_async_with_pipes + 851 (gspawn.c:661) 5 libglib-2.0.0.dylib 0x000000010f690f26 g_spawn_async + 198 (gspawn.c:146) 6 gimp 0x000000010e078486 gimp_plug_in_open + 1894 (gimpplugin.c:363) 7 gimp 0x000000010e0826a1 gimp_plug_in_manager_call_query + 641 (gimppluginmanager-call.c:75) 8 gimp 0x000000010e087e9e gimp_plug_in_manager_query_new + 382 (gimppluginmanager-restore.c:355) 9 gimp 0x000000010e087688 gimp_plug_in_manager_restore + 536 (gimppluginmanager-restore.c:112) 10 gimp 0x000000010e0b4a71 gimp_real_restore + 97 (gimp.c:715) 11 libgobject-2.0.0.dylib 0x000000010f559674 g_cclosure_marshal_VOID__POINTER + 244 (gmarshal.c:1201) 12 libgobject-2.0.0.dylib 0x000000010f553398 g_type_class_meta_marshal + 120 (gclosure.c:966) 13 libgobject-2.0.0.dylib 0x000000010f55288a g_closure_invoke + 522 (gclosure.c:773) 14 libgobject-2.0.0.dylib 0x000000010f57583b signal_emit_unlocked_R + 2155 (gsignal.c:3591) 15 libgobject-2.0.0.dylib 0x000000010f5774ee g_signal_emit_valist + 6046 (gsignal.c:3309) 16 libgobject-2.0.0.dylib 0x000000010f577e94 g_signal_emit + 356 (gsignal.c:3365) 17 gimp 0x000000010e0b1849 gimp_restore + 1449 (gimp.c:1013) 18 gimp 0x000000010dd56704 app_run + 708 (app.c:221) 19 gimp 0x000000010dd5a017 main + 1255 (main.c:474) 20 libdyld.dylib 0x00007fff85d005fd start + 1 Thread 0 crashed with X86 Thread State (64-bit): rax: 0x0000000000000004 rbx: 0x0000000000000028 rcx: 0x00000001118b69b5 rdx: 0x0000000000000000 rdi: 0x0000000000000103 rsi: 0x0000000000000403 rbp: 0x00007fff51eb5440 rsp: 0x00007fff51eb5418 r8: 0x0000000000000003 r9: 0x0000000000000000 r10: 0x00000000000002bc r11: 0x0000000000000246 r12: 0x000000010e0786b0 r13: 0x0000000000000000 r14: 0x000000010e6d01e0 r15: 0x0000000000000001 rip: 0x00000001118b69b5 rfl: 0x0000000000010202 cr2: 0x00000001118b69b5 Logical CPU: 3 Error Code: 0x00000014 Trap Number: 14 }}} Again spawning the child process has failed (SIGSEGV). No idea what's causing the problem and why it is specific to GIMP at this point. If any one else has an idea about what's going on here or better how to fix it please let me know. I'm heading out for the weekend but should get back to this on Sunday. -- Ticket URL: <https://trac.macports.org/ticket/45309#comment:6> MacPorts <http://www.macports.org/> Ports system for OS X