[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