
When I run Chimera on OS X 10.5 "Leopard", I get a ton of the following errors in /var/log/system.log: The process has forked and you cannot use this CoreFoundation functionality safely. You MUST exec(). Break on __THE_PROCESS_HAS_FORKED_AND_YOU_CANNOT_USE_THIS_COREFOUNDATION_FUNCTIONALITY___YOU_MUST_EXEC__ () to debug. I first reported on this on November 2, 2007, but with the latest daily build this still happens. I removed all extensions, but that doesn't seem to make a difference. My own extension becomes painfully slow, because Chimera is constantly writing the above error message. I never get the error above with the version of python that comes with Leopard or with the version of python2.5 in MacPorts. Would it be possible to build Chimera's version of Python similar to these other versions of Python? Or does the problem lie elsewhere? -- Mark

Hi Mark, We have looked into the "process has forked" warning messages produced by Chimera on Mac OS 10.5 and believe it is a bug in Tcl/Tk as reported here: http://trac.macosforge.org/projects/macports/ticket/13081 This bug report says it is fixed in Tcl/Tk 8.5. Chimera currently uses Tcl/Tk 8.4 and we are in the process of upgrading to 8.5. We have not observed that the messages are so numerous that they cause performance problems. Tom

Hi Mark, That is interesting. So the Python Popen() routine also generates the warning on Mac OS 10.5. That has nothing to do with Tcl/Tk and is a Python problem. I'd estimate that Tk 8.5 might be in the daily builds in 2-4 weeks. Greg Couch in our lab is working on it right now -- but there are some technical problems. In any case I think that writing the warning is not likely to be slowing your Chimera extension down. Running "grep" will take much more time than writing a warning message to a log file. Tom Mark Moll wrote:
Tom,
My apologies. I think I have located the problem elsewhere. The following lines are causing all the warning messages:
self.textArray.append(Popen(["grep", "-i", "^\ " + pdbid, pdb2ecmap], stdout=PIPE).communicate()[0]) self.textArray.append(Popen(["grep", "-i", "^" + pdbid, pdb2gomap], stdout=PIPE).communicate()[0])
My plugin is based on ViewDock and the lines above are called many, many times. I think I can find a workaround for this.
On Apr 23, 2008, at 4:08 PM, Mark Moll wrote:
Hi Tom,
Do you have an ETA on when the switch to 8.5 will appear in the daily snapshots? In the current state, users of my extension will think it's broken.
On Apr 23, 2008, at 12:38 PM, Tom Goddard wrote:
Hi Mark,
We have looked into the "process has forked" warning messages produced by Chimera on Mac OS 10.5 and believe it is a bug in Tcl/Tk as reported here:
http://trac.macosforge.org/projects/macports/ticket/13081
This bug report says it is fixed in Tcl/Tk 8.5. Chimera currently uses Tcl/Tk 8.4 and we are in the process of upgrading to 8.5.
We have not observed that the messages are so numerous that they cause performance problems.
Tom
-- Mark
participants (3)
-
Mark Moll
-
Thomas Goddard
-
Tom Goddard