]> git.sur5r.net Git - bacula/bacula/commitdiff
kes Add additional sm_check() code on debug level 1.
authorKern Sibbald <kern@sibbald.com>
Thu, 24 May 2007 09:42:42 +0000 (09:42 +0000)
committerKern Sibbald <kern@sibbald.com>
Thu, 24 May 2007 09:42:42 +0000 (09:42 +0000)
kes  Set default debug level to 1.
kes  Trap SIGABRT in attempt to get traceback.

git-svn-id: https://bacula.svn.sourceforge.net/svnroot/bacula/trunk@4888 91ce42f0-d328-0410-95d8-f526ca767f89

13 files changed:
bacula/src/baconfig.h
bacula/src/dird/catreq.c
bacula/src/dird/dird.c
bacula/src/dird/job.c
bacula/src/filed/job.c
bacula/src/lib/message.c
bacula/src/lib/signal.c
bacula/src/lib/smartall.c
bacula/src/lib/smartall.h
bacula/src/stored/dev.c
bacula/src/stored/job.c
bacula/src/version.h
bacula/technotes-2.1

index dd7c223ebd82e7b4a93be8fdd17c3950853341c9..7f733cd03b380f2ed07b61ca7cbdb1e4e4fc6b29 100644 (file)
@@ -1,13 +1,7 @@
-/*
- * General header file configurations that apply to
- * all daemons.  System dependent stuff goes here.
- *
- *   Version $Id$
- */
 /*
    Bacula® - The Network Backup Solution
 
-   Copyright (C) 2000-2006 Free Software Foundation Europe e.V.
+   Copyright (C) 2000-2007 Free Software Foundation Europe e.V.
 
    The main author of Bacula is Kern Sibbald, with contributions from
    many others, a complete list can be found in the file AUTHORS.
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
 */
+/*
+ * General header file configurations that apply to
+ * all daemons.  System dependent stuff goes here.
+ *
+ *   Version $Id$
+ */
 
 
 #ifndef _BACONFIG_H
index 23e3795f2180261cf2b123ae1fff3098d1cca5cc..a62dea0b1bb6297942f82912a28e43b2551ac0fe 100644 (file)
@@ -117,6 +117,7 @@ void catalog_request(JCR *jcr, BSOCK *bs)
    memset(&mr, 0, sizeof(mr));
    memset(&sdmr, 0, sizeof(sdmr));
    memset(&jm, 0, sizeof(jm));
+   Dsm_check(1);      
 
    /*
     * Request to find next appendable Volume for this Job
@@ -356,6 +357,7 @@ void catalog_update(JCR *jcr, BSOCK *bs)
    ATTR_DBR *ar = NULL;
    POOLMEM *omsg;
 
+   Dsm_check(1);
    if (!jcr->pool->catalog_files) {
       return;                         /* user disabled cataloging */
    }
index 64e94d82abb492399ee269a494fb396598727848..6f92ba9aeb0d4dd1939923890b531d647f84dad8 100644 (file)
@@ -153,7 +153,7 @@ int main (int argc, char *argv[])
          if (debug_level <= 0) {
             debug_level = 1;
          }
-         Dmsg1(0, "Debug level = %d\n", debug_level);
+         Dmsg1(10, "Debug level = %d\n", debug_level);
          break;
 
       case 'f':                    /* run in foreground */
index 5e6a2334210fb828f5e485e06c85186b3fc79ab7..c4f3ca13566e328f61dc89c71e2fab4330d671cd 100644 (file)
@@ -213,6 +213,7 @@ bool setup_job(JCR *jcr)
    }
 
    generate_job_event(jcr, "JobInit");
+   Dsm_check(1);
    return true;
 
 bail_out:
@@ -238,7 +239,7 @@ static void *job_thread(void *arg)
 
    jcr->my_thread_id = pthread_self();
    pthread_detach(jcr->my_thread_id);
-   sm_check(__FILE__, __LINE__, true);
+   Dsm_check(1);
 
    Dmsg0(200, "=====Start Job=========\n");
    set_jcr_job_status(jcr, JS_Running);   /* this will be set only if no error */
@@ -440,6 +441,7 @@ static void job_monitor_watchdog(watchdog_t *self)
 
    control_jcr = (JCR *)self->data;
 
+   Dsm_check(1);
    Dmsg1(800, "job_monitor_watchdog %p called\n", self);
 
    foreach_jcr(jcr) {
index 6e78537d38d0ac6709ee30d961d63a2e51f38b27..cfb569317fcf03ced4dbaaebf9982c5505b7523a 100644 (file)
@@ -340,6 +340,7 @@ void *handle_client_request(void *dirp)
    Dmsg0(100, "Done with term_find_files\n");
    free_jcr(jcr);                     /* destroy JCR record */
    Dmsg0(100, "Done with free_jcr\n");
+   Dsm_check(1);
    return NULL;
 }
 
index 2c3cd90cd9c50f3e3d608fdaa972b88f17baaaf4..fc9a9cc26b8ed850005c869642bba5b4c99f7507 100644 (file)
@@ -49,7 +49,7 @@ sql_escape p_sql_escape = NULL;
  */
 const char *working_directory = NULL;       /* working directory path stored here */
 int verbose = 0;                      /* increase User messages */
-int debug_level = 0;                  /* debug level */
+int debug_level = 1;                  /* debug level */
 time_t daemon_start_time = 0;         /* Daemon start time */
 const char *version = VERSION " (" BDATE ")";
 char my_name[30];                     /* daemon name is stored here */
index 68442ddc233e8701a9eff586479f47e9cdd3f37c..f5a624af82188f4f22b393b21bfc258b787339c4 100644 (file)
@@ -296,7 +296,7 @@ void init_signals(void terminate(int sig))
    sigaction(SIGQUIT,   &sighandle, NULL);
    sigaction(SIGILL,    &sighandle, NULL);
    sigaction(SIGTRAP,   &sighandle, NULL);
-/* sigaction(SIGABRT,   &sighandle, NULL);   */
+   sigaction(SIGABRT,   &sighandle, NULL);
 #ifdef SIGEMT
    sigaction(SIGEMT,    &sighandle, NULL);
 #endif
index f991ceefdf94f4f2b2c1071892b2cb6908b0d3a2..11ca3dd6564520bdaec4a8963db6510070c3579d 100644 (file)
@@ -1,22 +1,3 @@
-/*
-
-                         S M A R T A L L O C
-                        Smart Memory Allocator
-
-        Evolved   over   several  years,  starting  with  the  initial
-        SMARTALLOC code for AutoSketch in 1986, guided  by  the  Blind
-        Watchbreaker,  John  Walker.  Isolated in this general-purpose
-        form in  September  of  1989.   Updated  with  be  more  POSIX
-        compliant  and  to  include Web-friendly HTML documentation in
-        October  of  1998  by  the  same  culprit.    For   additional
-        information and the current version visit the Web page:
-
-                  http://www.fourmilab.ch/smartall/
-
-
-         Version $Id$
-
-*/
 /*
    Bacula® - The Network Backup Solution
 
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
 */
+/*
+
+                         S M A R T A L L O C
+                        Smart Memory Allocator
+
+        Evolved   over   several  years,  starting  with  the  initial
+        SMARTALLOC code for AutoSketch in 1986, guided  by  the  Blind
+        Watchbreaker,  John  Walker.  Isolated in this general-purpose
+        form in  September  of  1989.   Updated  with  be  more  POSIX
+        compliant  and  to  include Web-friendly HTML documentation in
+        October  of  1998  by  the  same  culprit.    For   additional
+        information and the current version visit the Web page:
+
+                  http://www.fourmilab.ch/smartall/
+
+
+         Version $Id$
+
+*/
 
 #include "bacula.h"
 /* Use the real routines here */
@@ -178,7 +178,7 @@ void sm_free(const char *file, int line, void *fp)
    }
 
    cp -= HEAD_SIZE;
-   qp = (struct b_queue *) cp;
+   qp = (struct b_queue *)cp;
    struct abufhead *head = (struct abufhead *)cp;
 
    P(mutex);
@@ -425,10 +425,10 @@ void sm_dump(bool bufdump)
 /*  SM_CHECK --  Check the buffers and dump if any damage exists. */
 void sm_check(const char *fname, int lineno, bool bufdump)
 {
-        if (!sm_check_rtn(fname, lineno, bufdump)) {
-           Emsg2(M_ABORT, 0, _("Damaged buffer found. Called from %s:%d\n"),
-              fname, lineno);
-        }
+   if (!sm_check_rtn(fname, lineno, bufdump)) {
+      Emsg2(M_ABORT, 0, _("Damaged buffer found. Called from %s:%d\n"),
+            fname, lineno);
+   }
 }
 
 #undef sm_check_rtn
@@ -518,9 +518,9 @@ int sm_check_rtn(const char *fname, int lineno, bool bufdump)
                    that all the other safeguards still apply to  buffers
                    allocated  when  sm_static(1)  mode is in effect.  */
 
-void sm_static(int mode)
+void sm_static(bool mode)
 {
-   bufimode = (bool) (mode != 0);
+   bufimode = mode;
 }
 
 /*
index a69859356724a045915bf22a3c137233174a907e..5875db28c021454fcd3208ef30466a323b55daa6 100644 (file)
@@ -1,10 +1,3 @@
-/*
-
-        Definitions for the smart memory allocator
-
-     Version $Id$
-
-*/
 /*
    Bacula® - The Network Backup Solution
 
    (FSFE), Fiduciary Program, Sumatrastrasse 25, 8006 Zürich,
    Switzerland, email:ftf@fsfeurope.org.
 */
+/*
+
+        Definitions for the smart memory allocator
+
+     Version $Id$
+
+*/
 
 extern uint64_t DLL_IMP_EXP sm_max_bytes;
 extern uint64_t DLL_IMP_EXP sm_bytes;
@@ -56,9 +56,11 @@ extern void actuallyfree(void *cp),
 extern void sm_new_owner(const char *fname, int lineno, char *buf);
 
 #ifdef SMCHECK
+#define Dsm_check(lvl) if ((lvl)<=debug_level) sm_check(__FILE__, __LINE__, true)
 extern void sm_check(const char *fname, int lineno, bool bufdump);
 extern int sm_check_rtn(const char *fname, int lineno, bool bufdump);
 #else
+#define Dsm_check(lvl, f, l, fl)
 #define sm_check(f, l, fl)
 #define sm_check_rtn(f, l, fl) 1
 #endif
index 14637c81e1da517c30f69416773a99d0a97f3398..cd656ce723f3e92a537e6040a0df56edd45f4e4d 100644 (file)
@@ -2007,7 +2007,7 @@ bool DEVICE::do_mount(int mount, int dotimeout)
    char *icmd;
    int status, timeout;
    
-   sm_check(__FILE__, __LINE__, false);
+   Dsm_check(1);
    if (mount) {
       if (is_mounted()) {
          Dmsg0(200, "======= mount=1\n");
@@ -2128,9 +2128,9 @@ bool DEVICE::do_mount(int mount, int dotimeout)
       }
 get_out:
       set_mounted(false);
-      sm_check(__FILE__, __LINE__, false);
       free_pool_memory(results);
       Dmsg0(200, "============ mount=0\n");
+      Dsm_check(1);
       return false;
    }
    
index 856e5315881044ec1828d6b00cb99a62b6171319..fe0389654fe0f3caeb32cf6bcfbfcd72837d5884 100644 (file)
@@ -150,6 +150,7 @@ bool run_cmd(JCR *jcr)
    struct timespec timeout;
    int errstat;
 
+   Dsm_check(1);
    Dmsg1(200, "Run_cmd: %s\n", jcr->dir_bsock->msg);
    /* The following jobs don't need the FD */
    switch (jcr->JobType) {
@@ -382,5 +383,6 @@ void stored_free_jcr(JCR *jcr)
       delete jcr->write_store;
       jcr->write_store = NULL;
    }
+   Dsm_check(1);
    return;
 }
index 8d0d9d607ab8af3c73ad5fa3ead8a5c5cdff02e5..27827ae4fcc63290cc36a897b81eebd9481531c5 100644 (file)
@@ -4,8 +4,8 @@
 
 #undef  VERSION
 #define VERSION "2.1.11"
-#define BDATE   "22 May 2007"
-#define LSMDATE "22May07"
+#define BDATE   "24 May 2007"
+#define LSMDATE "24May07"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2007 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2007"       /* year for copyright messages in progs */
index ae7ba36629d6f286fb8f2858465045b08bdc3f8a..d3f40e44bcd69ce9736137ff774e7f5c05296d3d 100644 (file)
@@ -1,6 +1,10 @@
               Technical notes on version 2.1
 
 General:
+24May07
+kes  Add additional sm_check() code on debug level 1.
+kes  Set default debug level to 1.
+kes  Trap SIGABRT in attempt to get traceback.
 23May07
 kes  Reduce bat connect timeout from 30 to 15 seconds.
 kes  More restructuring and implementing BSOCK class in place of