My instalation of amanda 3.4.x is running now for several months and
have entered in a loop only twice.  So this bug is not determinisc,
atleast for me.

On Wed, Jun 07, 2017 at 11:16:18AM -0400, Jean-Louis Martineau wrote:
> On 07/06/17 10:53 AM, Stefan G. Weichinger wrote:
> > Am 2017-06-07 um 16:46 schrieb Jean-Louis Martineau:
> > > On 07/06/17 10:43 AM, Stefan G. Weichinger wrote:
> > >> Am 2017-06-07 um 14:08 schrieb Jean-Louis Martineau:
> > >>
> > >> > And please, learn to send good bug report, just telling a process
> > loop
> > >> > is not enough.It <http://enough.It> <http://enough.It
> > <http://enough.It>> is always better to send more
> > >> information that nothing.
> > >>
> > >> sure ... sorry

This is my personal amanda server and I did not want to send the logs to
the mailing-list because of privacy concerns.


> > >>
> > >> > Don't ask what to send, send the most information you can, if
> > something
> > >> > is missing, I will ask for.
> > >> >
> > >> > You said the planner is looping, why not send the planner debug file,
> > >> > that is the minimum.
> > >> > An strace of the planner process
> > >> > A gdb stacktrace of all threads.
> > >> > The amdump (or amdump.1) log file.
> > >> > As the loop in the planner can be triggered by a bug in another
> > process,
> > >> > all error you get from any other processes.
> > >>
> > >> pls advise on how to gdb planner or "all threads"
> > >
> > > In gdb: thread apply all bt
> > 
> > did
> > 
> > gdp -p $PID_of_planner
> > 
> > (gdb) thread apply all bt
> > 
> > Thread 1 (Thread 0xb7052700 (LWP 32123)):
> > #0 0xb7462d32 in _IO_vfscanf () from /lib/libc.so.6
> > #1 0xb747310b in vsscanf () from /lib/libc.so.6
> > #2 0xb746df24 in sscanf () from /lib/libc.so.6
> > #3 0xb77c2e61 in get_info () from /usr/lib/amanda/libamserver-3.4.4.so
> > #4 0x08050ec7 in delay_dumps ()
> > #5 0x0804c39a in main ()
> > (gdb) bt
> > #0 0xb7462d32 in _IO_vfscanf () from /lib/libc.so.6
> > #1 0xb747310b in vsscanf () from /lib/libc.so.6
> > #2 0xb746df24 in sscanf () from /lib/libc.so.6
> > #3 0xb77c2e61 in get_info () from /usr/lib/amanda/libamserver-3.4.4.so
> > #4 0x08050ec7 in delay_dumps ()
> > #5 0x0804c39a in main ()
> > 
> > 
> > Does *that* help ?
> > 
> > 
> Yes, I know it loop in delay_dumps or get_info.
> 
> Can you apply the attached patch and retry a dump?
> 
> Send me the resulting planner debug file.
> 
> Jean-Louis
> This message is the property of CARBONITE, INC. and may contain confidential 
> or privileged information.
> If this message has been delivered to you by mistake, then do not copy or 
> deliver this message to anyone.  Instead, destroy it and notify me by reply 
> e-mail

> diff --git a/server-src/infofile.c b/server-src/infofile.c
> index 0103191..4adb53f 100644
> --- a/server-src/infofile.c
> +++ b/server-src/infofile.c
> @@ -621,6 +621,7 @@ get_info(
>  {
>      int rc;
>  
> +g_debug("enter get_info");
>      (void) zero_info(info);
>  
>      {
> @@ -638,6 +639,7 @@ get_info(
>       }
>      }
>  
> +g_debug("leave get_info");
>      return rc;
>  }
>  
> diff --git a/server-src/planner.c b/server-src/planner.c
> index 4d2b55b..4194a8a 100644
> --- a/server-src/planner.c
> +++ b/server-src/planner.c
> @@ -2789,6 +2789,7 @@ static void delay_dumps(void)
>  
>      biq.head = biq.tail = NULL;
>  
> +g_debug("enter delay_dumps");
>      /*
>      ** 1. Delay dumps that are way oversize.
>      **
> @@ -2868,6 +2869,7 @@ static void delay_dumps(void)
>                      "), ", message, NULL);
>      }
>  
> +g_debug("delay_dumps 2");
>      /*
>      ** 2. Delay total dumps.
>      **
> @@ -2900,23 +2902,28 @@ static void delay_dumps(void)
>       }
>      }
>  
> +g_debug("delay_dumps 2.a");
>      /* 2.a. Do not delay forced full */
>      delayed_ep = NULL;
>      delayed_dp = NULL;
>      do {
> +g_debug("delay_dumps 2.a1");
>       delayed_ep = NULL;
>       delayed_dp = NULL;
>       timestamps = 0;
>       for (elist = schedq.tail;
>            elist != NULL && total_size > tape_length;
>            elist = elist_prev) {
> +g_debug("delay_dumps 2.a1a");
>           elist_prev = elist->prev;
>           ep = get_est(elist);
>           dp = ep->disk;
>  
>           if(ep->dump_est->level != 0) continue;
>  
> +g_debug("delay_dumps 2.a1b");
>           get_info(dp->host->hostname, dp->name, &info);
> +g_debug("delay_dumps 2.a1c");
>           if(ISSET(info.command, FORCE_FULL)) {
>               nb_forced_level_0 += 1;
>               preserve_ep = ep;
> @@ -2930,6 +2937,7 @@ static void delay_dumps(void)
>               timestamps = ep->info->inf[0].date;
>           }
>       }
> +g_debug("delay_dumps 2.a2");
>       if (delayed_ep) {
>           /* Format dumpsize for messages */
>           g_snprintf(est_kb, 20, "%lld KB,",
> @@ -2954,8 +2962,10 @@ static void delay_dumps(void)
>           delay_one_dump(delayed_ep, delete, _("dumps too big,"), est_kb,
>                          message, NULL);
>       }
> +g_debug("delay_dumps 2.a3");
>      } while (delayed_ep);
>  
> +g_debug("delay_dumps 2.b");
>      /* 2.b. Delay forced full if needed */
>      if(nb_forced_level_0 > 0 && total_size > tape_length) {
>       for (elist = schedq.tail;


Kind regards
Jose M Calhariz

-- 
--
        O oposto do amor não e o ódio e sim, a indiferença.
                --  Erico Verissimo

Attachment: signature.asc
Description: PGP signature

Reply via email to