I use NSTask to run my helper application. On 99% one my customer systems this works fine, but two got back to me letting me know it doesn't. One of them was nice enough to let me look into the issue per remote desktop.
I tried a lot of different NSPipe/NSFileHandle combination for StandardOutput/StandardError to make sure the problem is not related filling up these buffers. Example 1 and 2. My guess is that it is not related because it works fine on so many systems and _dyld_start is too early on in the application lifecycle to fill up StandardOutput/StandardError.
Other notes about the problem:
- Launching the helper app from the terminal works fine.
- Attaching and detaching the gdb on the stuck process and after-worth it works fine and when it finished NSTask picks up work after -waitUntilExit.
- Using fork(2) and execv(3) instead of NSTask is able to launch and run the helper fine.
- The parent process is sandboxed but I think previous reports where non-sandboxed on Mac OS X 10.6/10.7.
Screenshot of the process Sample from Activity Monitor:

Any clues or debugging tips to figure out why the helper is stuck in _dyld_start are welcome!
DYLD_*environment variables. - Ken ThomasesDYLD_environment variables, assuming you're not setting them yourself, look in ~/.MacOSX/environment.plist. - Peter HoseyDYLD_the next time I get access to the machine. - catlanposix_spawnto launch an application and specify thePOSIX_SPAWN_START_SUSPENDEDflag, particularly since attaching then detaching gdb unsticks things.NSTaskdoesn't useposix_spawnthough, unless some swizzled version of it is somehow being used. - bdashDYLD_variables could be relevant given that the process is stopped beforedyldhas begun execution. - bdash