[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