[launchd-dev] Mac OS-X 10.5 and "two icons bouncing in the dock" problem

Damien Sorresso dsorresso at apple.com
Fri Aug 14 09:28:55 PDT 2009


On Aug 14, 2009, at 1:31 AM, Hans-Peter Jansen wrote:
> [Probably, this is the wrong list, but launchd is definitely involved;
> Any pointer to more appropriate lists are welcome]
>
> Hi,
>
> attached PyQt script demonstrates an ugly issue, I'm fighting with  
> since a
> couple of days :-(.
>
> Issue:
> when starting the app via double click or single click on dock icon or
> dropping a plain/text file on dock or application icon, all actions  
> lead to
> two bouncing icons.
>
> The one with the blue spot is the good one, that stops bouncing after
> start-up. The bad one will stop bouncing eventually, and shows  
> "Application
> not responding" in its context menu then. As long as the bad one  
> exists,
> dropping files on the good one will be ignored. After killing (and
> sometimes removing from the dock is necessary) all is well - one can  
> drop
> files one the good one and on the app icon, all behaves well, up to  
> the
> point of being terminated, then this ugly game starts again.
>
> The issue is not depending on the arch, but on OS-X 10.5. It does  
> not happen
> with 10.4. It may be related to pyinstaller, but since I need to  
> deploy the
> app on arbitrary 10.4 and later systems, omitting it is not an option.
>
> Termination of this process is accompanied with these syslog messages:
> Aug 13 19:01:26 g5 com.apple.launchd[124]
> ([0x0-0x130130]..local.LaunchProb[9611]): Stray process with PGID  
> equal to
> this dead job: PID 9612 PPID 1 LaunchProb
> Aug 13 19:01:26 g5 com.apple.launchd[124]
> ([0x0-0x130130]..local.LaunchProb[9611]): Exited: Terminated
>
> BTW: pyinstaller does a fork in start up, see
> pyinstaller/source/linux/main.c around line 120;
>
> #ifdef __APPLE__
>        /* add workpath to DYLD_LIBRARY_PATH */
>        exportWorkpath(workpath, "DYLD_LIBRARY_PATH");
> #endif
>        pid = fork();
>        if (pid == 0)
>            execvp(thisfile, argv);
>        wait(&rc);
>        rc = WEXITSTATUS(rc);
>
>        VS("Back to parent...\n");
>        if (strcmp(workpath, homepath) != 0)
>            clear(workpath);
>
> It seems to be the culprit, what what could be done to get this  
> working
> nicely with 10.5, too? Should I set the same pgid on both processes?  
> Any
> pointer to examples?
>
> Pre conditions:
> OS-X 10.5(.7/.8) with ppc or x86 arch
> Xcode 3.1.3
> Python-2.6.2
> Qt-4.5.2
> sip-4.8.2
> PyQt-4.5.4
>
> Build it this way:
>
> tar xvzf launchprob.tar.gz && cd launchprob && ./build.sh -debug
>
> This command will fetch pyinstaller's SVN trunk, build pyinstaller,  
> generate
> the app itself: LaunchProb.app. It can be moved to any system, as  
> long as
> all required packages are cleanly built for both archs(*) and the  
> minimum
> OS-X release is 10.4.
>
> Any ideas how to solve this issue are greatly appreciated.
>
> Thanks,
> Pete
>
> (*) I can provide more details for this on request


Why is it fork(2)ing and then exiting right away? This really isn't a  
supported way to build applications on Mac OS X. Please use Xcode.
-- 
Damien Sorresso
BSD Engineering
Apple Inc.

-------------- next part --------------
A non-text attachment was scrubbed...
Name: smime.p7s
Type: application/pkcs7-signature
Size: 2425 bytes
Desc: not available
URL: <http://lists.macosforge.org/pipermail/launchd-dev/attachments/20090814/062e0b23/attachment.bin>


More information about the launchd-dev mailing list