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
signature.asc
Description: PGP signature
