[MacPorts] #45309: gimp2 @2.8.14 on 10.9 - doesn't load plug-ins
MacPorts
noreply at macports.org
Fri Oct 10 13:22:55 PDT 2014
#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
More information about the macports-tickets
mailing list