Amanda-Users

Re: continuing problems - hung client, etc

2009-07-16 13:28:46
Subject: Re: continuing problems - hung client, etc
From: Brian Cuttler <brian AT wadsworth DOT org>
To: Jean-Louis Martineau <martineau AT zmanda DOT com>
Date: Thu, 16 Jul 2009 13:15:26 -0400
Patch failed to apply, replaced the lines manually and attempted
to # make. Also failed.

Is there an amanda snapshot I can grab with this patch ?

[lyra]: /usr/tmp/ivan/amanda-2.6.1p1/common-src > make
make  all-am
make[1]: Entering directory `/var/tmp/ivan/amanda-2.6.1p1/common-src'
source='pipespawn.c' object='pipespawn.lo' libtool=yes \
DEPDIR=.deps depmode=none /bin/bash ../config/depcomp \
/bin/bash ../libtool --tag=CC   --mode=compile /opt/SUNWspro/bin/cc 
-DHAVE_CONFIG_H -I. -I../config -I../gnulib     -I/usr/sfw/include 
-I/opt/swf/include -D_REENTRANT -D_GNU_SOURCE -mt -I/usr/include/glib-2.0 
-I/usr/lib/glib-2.0/include    -I/usr/sfw/include -I/opt/sfw/include 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -c -o 
pipespawn.lo pipespawn.c
 /opt/SUNWspro/bin/cc -DHAVE_CONFIG_H -I. -I../config -I../gnulib 
-I/usr/sfw/include -I/opt/swf/include -D_REENTRANT -D_GNU_SOURCE -mt 
-I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/sfw/include 
-I/opt/sfw/include -I/usr/local/include -D_LARGEFILE_SOURCE 
-D_FILE_OFFSET_BITS=64 -c pipespawn.c  -KPIC -DPIC -o .libs/pipespawn.o
"pipespawn.c", line 202: syntax error before or at: struct
"pipespawn.c", line 203: undefined symbol: openfile
"pipespawn.c", line 203: warning: argument #2 is incompatible with prototype:
        prototype: pointer to struct rlimit {unsigned long long rlim_cur, 
unsigned long long rlim_max} : "/usr/include/sys/resource.h", line 238
        argument : pointer to int
"pipespawn.c", line 204: warning: left operand of "." must be struct/union 
object
"pipespawn.c", line 204: cannot access member of non-struct/union object
"pipespawn.c", line 204: warning: left operand of "." must be struct/union 
object
"pipespawn.c", line 204: cannot access member of non-struct/union object
"pipespawn.c", line 210: syntax error before or at: struct
"pipespawn.c", line 211: undefined symbol: openfile
"pipespawn.c", line 211: warning: argument #2 is incompatible with prototype:
        prototype: pointer to struct rlimit {unsigned long long rlim_cur, 
unsigned long long rlim_max} : "/usr/include/sys/resource.h", line 238
        argument : pointer to int
"pipespawn.c", line 212: warning: left operand of "." must be struct/union 
object
"pipespawn.c", line 212: cannot access member of non-struct/union object
"pipespawn.c", line 212: warning: left operand of "." must be struct/union 
object
"pipespawn.c", line 212: cannot access member of non-struct/union object
"pipespawn.c", line 218: syntax error before or at: struct
"pipespawn.c", line 219: undefined symbol: openfile
"pipespawn.c", line 219: warning: argument #2 is incompatible with prototype:
        prototype: pointer to struct rlimit {unsigned long long rlim_cur, 
unsigned long long rlim_max} : "/usr/include/sys/resource.h", line 238
        argument : pointer to int
"pipespawn.c", line 220: warning: left operand of "." must be struct/union 
object
"pipespawn.c", line 220: cannot access member of non-struct/union object
"pipespawn.c", line 220: warning: left operand of "." must be struct/union 
object
"pipespawn.c", line 220: cannot access member of non-struct/union object
cc: acomp failed for pipespawn.c
make[1]: *** [pipespawn.lo] Error 1
make[1]: Leaving directory `/var/tmp/ivan/amanda-2.6.1p1/common-src'
make: *** [all] Error 2


On Thu, Jul 16, 2009 at 12:13:32PM -0400, Jean-Louis Martineau wrote:
> Can you apply the attached patch to lyra?
> And run the following command on the amand server:
> $ amdump curie lyra / -otapedev=/no/such/device -otpchanger=
> 
> Post the complete sendbackup.*.debug file
> 
> Jean-Louis
> 
> Brian Cuttler wrote:
> >Continuation of previous initiated thread.
> >
> >Server, Solaris 10/x86 amanda 2.6.1p1, I believe -20090227
> >Client, also 2.6.1p1, Solaris 10/Sparc.
> >
> >Have reduced maxdumps to 3, client still hanging...
> >
> >[lyra] ~ 117> ps -ef | grep amanda
> >  amanda  9087  7436   0        - ?           0:00 <defunct>
> >  amanda  7644  7436   0        - ?           0:00 <defunct>
> >  amanda  8487  7436   0        - ?           0:13 <defunct>
> >  amanda  8304  7436   0        - ?           0:00 <defunct>
> >  amanda  7437  7436   0        - ?           0:04 <defunct>
> >  amanda  7438  7436   0        - ?           0:00 <defunct>
> >  amanda  8099  7436   0        - ?           0:00 <defunct>
> >  amanda  9086  7436   0        - ?           0:02 <defunct>
> >  amanda  7465  7436   0        - ?           0:00 <defunct>
> >  amanda  7436 15684   0 20:00:01 ?          16:56 
> >  /usr/local/libexec/amanda/amandad
> >  amanda  9521  7436   0        - ?           0:00 <defunct>
> >   brian 12593 12573   0 09:39:24 pts/3       0:00 grep amanda
> >  amanda  8488  7436   0        - ?           0:00 <defunct>
> >  amanda 11972  7436   0        - ?           0:00 <defunct>
> >  amanda  8303  7436   0        - ?           0:13 <defunct>
> >  amanda 10597  7436   0        - ?           0:00 <defunct>
> >  amanda  9520  7436   0        - ?           0:04 <defunct>
> >
> >  
> 

> Index: common-src/pipespawn.c
> ===================================================================
> --- common-src/pipespawn.c    (revision 2050)
> +++ common-src/pipespawn.c    (working copy)
> @@ -199,17 +199,23 @@
>        * Shift the pipes to the standard file descriptors as requested.
>        */
>       if(dup2(inpipe[0], 0) == -1) {
> -         g_fprintf(stderr, "error [spawn %s: dup2 in: %s]", prog, 
> strerror(errno));
> +         struct rlimit openfile;
> +         getrlimit(RLIMIT_NOFILE, &openfile);
> +         g_fprintf(stderr, "error [spawn %s: dup2(%d, %d) (%d %d) in: %s]", 
> prog, inpipe[0], 0, (int)openfile.rlim_cur, (int)openfile.rlim_max, 
> strerror(errno));
>           exit(1);
>           /*NOTREACHED*/
>       }
>       if(dup2(outpipe[1], 1) == -1) {
> -         g_fprintf(stderr, "error [spawn %s: dup2 out: %s]", prog, 
> strerror(errno));
> +         struct rlimit openfile;
> +         getrlimit(RLIMIT_NOFILE, &openfile);
> +         g_fprintf(stderr, "error [spawn %s: dup2(%d, %d) (%d %d) out: %s]", 
> prog, outpipe[1], 1, (int)openfile.rlim_cur, (int)openfile.rlim_max, 
> strerror(errno));
>           exit(1);
>           /*NOTREACHED*/
>       }
>       if(dup2(errpipe[1], 2) == -1) {
> -         g_fprintf(stderr, "error [spawn %s: dup2 err: %s]", prog, 
> strerror(errno));
> +         struct rlimit openfile;
> +         getrlimit(RLIMIT_NOFILE, &openfile);
> +         g_fprintf(stderr, "error [spawn %s: dup2(%d, %d) (%d %d) err: %s]", 
> prog, errpipe[1], 2, (int)openfile.rlim_cur, (int)openfile.rlim_max, 
> strerror(errno));
>           exit(1);
>           /*NOTREACHED*/
>       }

---
   Brian R Cuttler                 brian.cuttler AT wadsworth DOT org
   Computer Systems Support        (v) 518 486-1697
   Wadsworth Center                (f) 518 473-6384
   NYS Department of Health        Help Desk 518 473-0773



IMPORTANT NOTICE: This e-mail and any attachments may contain
confidential or sensitive information which is, or may be, legally
privileged or otherwise protected by law from further disclosure.  It
is intended only for the addressee.  If you received this in error or
from someone who was not authorized to send it to you, please do not
distribute, copy or use it or any attachments.  Please notify the
sender immediately by reply e-mail and delete this from your
system. Thank you for your cooperation.