[Raw Msg Headers][Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: subdirs in postman?



On Thu, 2003-10-02 at 10:19, Matti Aarnio wrote:
> On Wed, Oct 01, 2003 at 04:31:18PM +0400, Eugene Crosser wrote:
> 
>   This is in your   process.cf   script.

The original problem was files stuck in the router directory...
According to truss (this is SPARC/Solaris), parent router was feeding
the files to the children and immediately getting back "#hungry", while
the files stayed intact.

I've installed fresh set of cf files; we'll see if it makes any
difference.

Oh, I get this situation again:

time()                                          = 1065084383
lstat("274197-12434", 0xFFBEF480)               = 0
getdents64(6, 0x00142AF0, 1048)                 = 200
getdents64(6, 0x00142AF0, 1048)                 = 0
close(6)                                        = 0
open64("../router1", O_RDONLY|O_NDELAY)         Err#2 ENOENT
open64("../router2", O_RDONLY|O_NDELAY)         Err#2 ENOENT
open64("../router3", O_RDONLY|O_NDELAY)         Err#2 ENOENT
open64("../router4", O_RDONLY|O_NDELAY)         Err#2 ENOENT
time()                                          = 1065084383
write(10, " 2 7 4 1 9 7 - 1 2 4 3 4".., 13)     = 13
poll(0xFFBEF628, 5, 1000)                       = 1
read(10, "\n # h u n g r y\n", 512)             = 9
read(10, 0x000873B0, 512)                       Err#11 EAGAIN
time()                                          = 1065084383
poll(0xFFBEF628, 5, 1000)                       = 0

This pattern repeats, there is nothing in the router log, and the file
stays in the router directory.

OK, I seem to have a core this time.
#0  0x2ad00 in printAddress (fp=0x925f0, pp=0x94088, col=0) at
rfc822hdrs.c:931
931                                     if (fp) putc((*t->t_pname), fp);
(gdb) bt
#0  0x2ad00 in printAddress (fp=0x925f0, pp=0x94088, col=0) at
rfc822hdrs.c:931
#1  0x25b80 in sequencer (e=0x93a70, file=0xe2c38 "274463-9934")
    at rfc822.c:2254
#2  0x217e8 in run_rfc822 (argc=0, argv=0xe2c38) at rfc822.c:186
#3  0x47af8 in execute (c=0xffbec55c, caller=0xffbed2d0, oretcode=0,
    name=0x63a88 "rfc822") at execute.c:394
#4  0x378f4 in runcommand (c=0xffbec55c, pc=0xffbed2d0,
retcodep=0xffbed298,
    cmdname=0x63a88 "rfc822") at interpret.c:760
#5  0x3a344 in interpret (Vcode=0xf5a10, Veocode=0x86400,
Ventry=0xf5b09,
    caller=0xffbed2d0, retcodep=0xffbed298, cdp=0xf6fe0) at
interpret.c:1802
#6  0x3d0a0 in lapply (fname=0x668e8 "process", l=0xa79d0) at
interpret.c:2878
#7  0x3d26c in apply (argc=2, argv=0xffbed7a0) at interpret.c:2902
#8  0x1fcb8 in s_apply (argc=2, argv=0xffbed7a0) at shliaise.c:51
#9  0x30ca8 in rd_doit (filename=0xffbed500 "274463-9934",
dirs=0xffbed826 "")
    at daemonsub.c:1419
#10 0x3028c in child_server (tofd=-4270848, frmfd=-4270048) at
daemonsub.c:858
#11 0x2f7ec in start_child (i=0) at daemonsub.c:277
#12 0x31360 in run_daemon (argc=-4261736, argv=0x3f7bcb8d) at
daemonsub.c:1591
#13 0x17a10 in main (argc=3, argv=0xffbefb7c) at router.c:377

This is a clean fresh CVS version, without local modifications.

>   This routine should be called with a file reference to local directory,
>   never with relative paths.  That is:
> 
> 	z# cd $R
> 	z# process 2744404-5547
> 
>   There has been a tought about optimizing the ROUTERDIRHASH=
>   ZENV setting, which is now moving  $POSTOFFICE/router/X/274404  file
>   to   $POSTOFFICE/router/  directory before processing it.
>   This script is but one example of where "process X/274404" must be
>   fixed so that the non-moving thing would work.
>   (The less there are syscalls, the better..)
> 
> > =============
> > z# process router/274404-5547
> >     process router/274404-5547
> >         db flush pwuid
> >         db flush pwnam
> >         db flush fullname
> >         db flush hostexpansions
> >         db flush recipients
> >         db flush expansions
> >         /bin/mv router/274404-5547
> > ../postman/rtr.router/274404-5547.5704
> > mv: cannot rename router/274404-5547: No such file or directory
> >         return (return) <0>
> > ?=1
> > ?=1
> >  lapply('PS1', ())
> > ==============
> > 
> > apparently postman was reorganized?  But post-install does not create
> > subdirs in postman...
> > 
> > Eugene
-- 

-
To unsubscribe from this list: send the line "unsubscribe zmailer" in
the body of a message to majordomo@nic.funet.fi