On Friday 03 June 2011 11:47:59 AM Brian Bockelman wrote:
On Jun 3, 2011, at 11:24 AM, Greg Thain wrote:
On 06/02/2011 05:57 PM, Brian Bockelman wrote:
This is laid out in #2208. It seems that gdb will assert on Condor
compiles that use pthreads and the clone call, as Condor confuses
pthreads by creating a new thread. This happens whether you ask gdb to
follow the parent or child.
The using-clone-to-exec business also screws up valgrind, so I added code
a while back which detects if a condor daemon is being valgrinded
(valground?) and just reverts to fork+exec'ing if that is the case. I
looked at how to do the same for gdb, but couldn't find a satisfactory
way to detect if a process is being debugged that was lightweight enough
to always have on.
IIRC, there's also a config knob that you can set that forces Condor to use
the fork+exec behavior. Checking....
Ah, yes, in daemon_core.cpp line 2687, we param for
"USE_CLONE_TO_CREATE_PROCESSES", which is intentionally not documented, and
defaults to True.
-Nick