• Open Menu Close Menu
  • Apple
  • Shopping Bag
  • Apple
  • Mac
  • iPad
  • iPhone
  • Watch
  • TV
  • Music
  • Support
  • Search apple.com
  • Shopping Bag

Lists

Open Menu Close Menu
  • Terms and Conditions
  • Lists hosted on this site
  • Email the Postmaster
  • Tips for posting to public mailing lists
Re: Debugging __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Debugging __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__


  • Subject: Re: Debugging __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__
  • From: Jerry <email@hidden>
  • Date: Thu, 10 Apr 2008 13:59:50 +0100


On 9 Apr 2008, at 14:18, Ken Thomases wrote:

On Apr 8, 2008, at 12:57 PM, Jerry wrote:
We're getting a load of messages of the form:

Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__ () to debug.
The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec().


from a thirdparty library we're using. The trouble is, when run under gdb, the messages go away, and my breakpoint isn't hit. How can I debug this and find out what's being called?

You can try to use DTrace:

sudo dtrace -n 'pid$target:: __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__ :entry {ustack();}' -c "/path/to/program arg1 arg2 ..."

(Note that this will run your program as root. To avoid that, remove the -c <cmd> option and replace it with -p <pid>, which requires that your program already be running but has not yet hit the problem you're trying to diagnose.)

Thanks for the suggestion. I had to make one fix to the command line: remove the space after pid$target::. Unfortunately, although I still get the messages, I don't get any output from dtrace.


Interestingly, if I use "fork" as the symbol to check for, I do get output but the stack trace for fork doesn't appear until a long time after I get the "THE_PROCESS_HAS_FORKED..." messages. Weird. I've also checked for vfork with no hits. I suppose it's back to the binary code chopping to isolate this, but the whole application is so interdependent, it's hard to do :-(

Jerry

_______________________________________________
Do not post admin requests to the list. They will be ignored.
Xcode-users mailing list      (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden


  • Follow-Ups:
    • Re: Debugging __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__
      • From: Ken Thomases <email@hidden>
References: 
 >Debugging __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__ (From: Jerry <email@hidden>)
 >Re: Debugging __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__ (From: Ken Thomases <email@hidden>)

  • Prev by Date: Re: thin linking: "file is not of required architecture"
  • Next by Date: Fwd: thin linking: "file is not of required architecture"
  • Previous by thread: Re: Debugging __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__
  • Next by thread: Re: Debugging __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__
  • Index(es):
    • Date
    • Thread