Hi Bill,

Am Freitag, 14. August 2009 schrieb Bill Janssen:
> I guess the question is, why two dock icons?  I'm seeing something
> perhaps similar; I have a Python-Cocoa app that when started will cause
> one of those pop-up windows, "App quit unexpectedly, do you want to
> submit a bug report to Apple", and the crash report shows that a
> multi-threaded program crashed in thread 0 with SEGV attempting to
> access location 0.  But the app seems to be running, just fine.  When I
> poked at it a bit more, it looks like using "open" or double-click to
> launch the app somehow causes two instances to start (fork, somewhere?),
> and one of them is bad.  This is with Xcode 3.1.3 and OS X 10.5, but no
> Qt, no Python-2.6.2.

Yes, Mac OS-X desktop services looks flaky from certain perspectives (yours 
and mine ;)

I did found a fishy smelling fork in pyinstaller bootstrap code, and 
eliminated it already, but still no cigar :(. This is my first project on 
the Mac and I'm pretty fed up from puny sources, combined with low S/N 
ratio when it comes to technical issues (apart from this thread at least).

Could you give me some hints how you debug such things?

Thanks,
Pete
--- pyinstaller/source/common/launch.c~	2009-08-13 12:00:56.341840092 +0200
+++ pyinstaller/source/common/launch.c	2009-08-14 14:27:30.949838842 +0200
@@ -1039,7 +1039,7 @@ int runScripts()
             PI_PyObject_SetAttrString(__main__, "__file__", __file__);
             Py_DECREF(__file__);
 			/* Run it */
-			rc = PI_PyRun_SimpleString(data);
+			rc = PI_PyRun_SimpleString((char *)data);
 			/* log errors and abort */
 			if (rc != 0) {
 				VS("RC: %d from %s\n", rc, ptoc->name);
--- pyinstaller/source/linux/main.c~	2009-08-13 12:00:55.769843197 +0200
+++ pyinstaller/source/linux/main.c	2009-08-14 23:15:38.853870358 +0200
@@ -120,12 +120,14 @@ int main(int argc, char* argv[])
 #ifdef __APPLE__
         /* add workpath to DYLD_LIBRARY_PATH */
         exportWorkpath(workpath, "DYLD_LIBRARY_PATH");
-#endif
+	rc = doIt(argc, argv);
+#else
         pid = fork();
         if (pid == 0)
             execvp(thisfile, argv);
         wait(&rc);
         rc = WEXITSTATUS(rc);
+#endif
 
         VS("Back to parent...\n");
         if (strcmp(workpath, homepath) != 0)
_______________________________________________
Pythonmac-SIG maillist  -  Pythonmac-SIG@python.org
http://mail.python.org/mailman/listinfo/pythonmac-sig

Reply via email to