[MacPorts] #45309: gimp2 @2.8.14 on 10.9 - doesn't load plug-ins
MacPorts
noreply at macports.org
Tue Oct 21 13:49:01 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 macports@…):
Some thoughts on debugging this, in case someone has more time:
immediately after the fork() point there are two processes, the parent and
the child. Whatever is going wrong is clearly in the child process, and
it seems to fail quickly enough that it's tricky to get a debugger to
attach:
* "LANG=C lldb gimp-2.8" in one window
* "b fork", then "run", wait for breakpoint to hit
* "LANG=C lldb" in another window, and "process attach -w -n gimp-2.8"
to get it to attach to the next gimp-2.8 process that appears
* "c" in the first window, so the fork() happens
but AFAICT the child exits (due to the error we're trying to debug) before
the lldb has time to do anything meaningful with it.
I did try installing gdb, for "set follow-fork-mode child" but even after
doing the code signing dance it appears OS X doesn't have kernel support
needed for "follow-fork-mode" to work automatically, so gdb has to be used
in basically the same way, which also doesn't have time to work. Plus gdb
didn't seem to find any symbols, where as lldb at least had function
names, so I think gdb is a deadend.
So... I think the only meaningful way to debug this would be a code change
in the **child** side of the fork() (ie, in glib's
fork_exec_with_pipes()), which made the child wait a lot longer before it
did something that caused it to exit again (ie, immediately at the top of
the child part of the function). Say, sleeping for 5 seconds. Which
would allow time to attach the debugger to the child (as above), break out
to the debugger, and set some more breakpoints, then continue/step through
the child side of the code.
It'll take a bit of time to change the glib code, recompile/install, and
step through, but at least we'd know which particular bit of the child
code is failing which would, eg, make it feasible to report upstream more
specifically. I'm unlikely to have time to do this before late next week,
but will have a go late next week if no one else has time to try before
then.
Ewen
--
Ticket URL: <https://trac.macports.org/ticket/45309#comment:22>
MacPorts <https://www.macports.org/>
Ports system for OS X
More information about the macports-tickets
mailing list