From d84fc14113c6baf4e99893a8d72b98d9f09595fd Mon Sep 17 00:00:00 2001
From: Danny Auble <da@llnl.gov>
Date: Tue, 3 Nov 2009 21:34:41 +0000
Subject: [PATCH] --enable-debug no longer has to be stated at configure time
 to have the slurmctld or slurmstepd dump core on a seg fault.

---
 NEWS                        | 2 ++
 src/slurmctld/controller.c  | 6 ++----
 src/slurmd/slurmstepd/mgr.c | 6 ++----
 src/slurmdbd/slurmdbd.c     | 6 ++++++
 4 files changed, 12 insertions(+), 8 deletions(-)

diff --git a/NEWS b/NEWS
index c56b09e8b21..3adb090be5d 100644
--- a/NEWS
+++ b/NEWS
@@ -15,6 +15,8 @@ documents those changes that are of interest to users and admins.
  -- Applied patch from Mark Grondona that tests for a missing config file before
     any other processing in spank_init().  This now prevents fatal errors from
     being mistakenly treated as recoverable.
+ -- --enable-debug no longer has to be stated at configure time to have 
+    the slurmctld or slurmstepd dump core on a seg fault.
 
 * Changes in SLURM 2.1.0-pre5
 =============================
diff --git a/src/slurmctld/controller.c b/src/slurmctld/controller.c
index 61d3b25a1e6..705d90535c2 100644
--- a/src/slurmctld/controller.c
+++ b/src/slurmctld/controller.c
@@ -254,12 +254,10 @@ int main(int argc, char *argv[])
 	if (license_init(slurmctld_conf.licenses) != SLURM_SUCCESS)
 		fatal("Invalid Licenses value: %s", slurmctld_conf.licenses);
 
-#ifndef NDEBUG
-#  ifdef PR_SET_DUMPABLE
+#ifdef PR_SET_DUMPABLE
 	if (prctl(PR_SET_DUMPABLE, 1) < 0)
 		debug ("Unable to set dumpable to 1");
-#  endif /* PR_SET_DUMPABLE */
-#endif   /* !NDEBUG         */
+#endif /* PR_SET_DUMPABLE */
 
 	/* 
 	 * Create StateSaveLocation directory if necessary.
diff --git a/src/slurmd/slurmstepd/mgr.c b/src/slurmd/slurmstepd/mgr.c
index 5bdc8e2f9ff..05d638ab8ce 100644
--- a/src/slurmd/slurmstepd/mgr.c
+++ b/src/slurmd/slurmstepd/mgr.c
@@ -844,12 +844,10 @@ job_manager(slurmd_job_t *job)
 		goto fail1;
 	}
 	
-#ifndef NDEBUG
-#  ifdef PR_SET_DUMPABLE
+#ifdef PR_SET_DUMPABLE
 	if (prctl(PR_SET_DUMPABLE, 1) < 0)
 		debug ("Unable to set dumpable to 1");
-#  endif /* PR_SET_DUMPABLE */
-#endif   /* !NDEBUG	 */
+#endif /* PR_SET_DUMPABLE */
 
 	set_umask(job);		/* set umask for stdout/err files */
 	if (job->user_managed_io)
diff --git a/src/slurmdbd/slurmdbd.c b/src/slurmdbd/slurmdbd.c
index f5d8f53eaaa..1fa2c98ab6c 100644
--- a/src/slurmdbd/slurmdbd.c
+++ b/src/slurmdbd/slurmdbd.c
@@ -122,10 +122,16 @@ int main(int argc, char *argv[])
 	_kill_old_slurmdbd();
 	if (foreground == 0)
 		_daemonize();
+
 	_init_pidfile();
 	_become_slurm_user();
 	log_config();
 
+#ifdef PR_SET_DUMPABLE
+	if (prctl(PR_SET_DUMPABLE, 1) < 0)
+		debug ("Unable to set dumpable to 1");
+#endif /* PR_SET_DUMPABLE */
+
 	if (xsignal_block(dbd_sigarray) < 0)
 		error("Unable to block signals");
 
-- 
GitLab