Hi,

Brad Roberts send the fix on the amanda-hackers mailling lists.

I include it.

Jean-Louis

On Thu, Jan 02, 2003 at 10:16:55AM -0800, Vichaya Sidhipong wrote:
> Hi folks,
> 
> Just wanted to chime in.  I've been running amanda for the past two years
> with the same configuration.  Lately, just like rgrant found out, amflush
> has been hanging on me with +90% CPU usage.  Prior to this (I recall the
> last amflush I ran was maybe six or seven months ago) amflush was running
> just fine.  So if anybody else is looking into this, hopefully this is
> another data point to consider.
> 
> I'll try to look into the problem myself today since because of the holiday
> we've got some data in the holding area :-)
> 
> Cheers!
> 
> On Sat, 28 Dec 2002 12:11:01 -0500
> [EMAIL PROTECTED] wrote:
> 
> > After a bit of debugging I found out were amflush hangs, it seems that the
> > function agets() in function call read_flush() waits forever and the for
> > loop never gets executed, I'm not sure why but maybe someone on the list
> > knows.
> > 
> > excerpt from driver.c
> > 
> > void read_flush(tapeqp)
> > disklist_t *tapeqp;
> > {
> > 
> > [snip]
> >     /* read schedule from stdin */
> > 
> >     for(line = 0; (inpline = agets(stdin)) != NULL; free(inpline)) {
> >         line++;
> > .....

-- 
Jean-Louis Martineau             email: [EMAIL PROTECTED] 
Departement IRO, Universite de Montreal
C.P. 6128, Succ. CENTRE-VILLE    Tel: (514) 343-6111 ext. 3529
Montreal, Canada, H3C 3J7        Fax: (514) 343-5834
diff -u amflush.c.orig amflush.c
--- amflush.c.orig   2002-12-30 02:07:25.000000000 -0800
+++ amflush.c      2002-04-14 05:57:04.000000000 -0700
@@ -194,8 +194,6 @@
            }
            if(ok == 0) { /* remove dir */
                remove_sl(datestamp_list, dir);
-               amfree(dir->name);
-               amfree(dir);
            }
            dir = next_dir;
        }

diff -u holding.c.orig holding.c
--- holding.c.orig   2002-12-30 02:06:54.000000000 -0800
+++ holding.c      2002-12-30 02:06:34.000000000 -0800
@@ -246,8 +246,6 @@
            }
            if(ok == 0) { /* remove dir */
                remove_sl(date_list, date);
-               amfree(date->name);
-               amfree(date);
            }
            date = next_date;
        }

Reply via email to