[Mailman-Users] Re: [Mailman-Developers] traceback while sending digests

Scott scott at chronis.pobox.com
Wed Nov 18 04:00:45 CET 1998


On Tue, Nov 17, 1998 at 04:54:06PM -0800, Greg Stein wrote:
| I sent this once before and didn't hear anything. I just got my third
| copy of this. Looking at the mailman-developers archive, it appears that
| others are getting it to.
| 
| Can we get some kind of word on what the problem is?
| 

sorry i haven't had time to be more responsive.  i've got a lot of other
work on my hands at the moment, so i'll throw in my best educated
guess instead of a thorough analysis, and hope it helps.

First off, i believe that this problem is either system dependent or
showing itself through list configs that i don't have.  i'm not seeing
this under linux or solaris2.5.1, and both installations have taken a
bit of a beating.

secondly, this problem probably results from calling 
os.popen(<prg>, "w")  where <prg> does this right off the bat:

if not os.fork():
   # do the work
os._exit(0)


the way i understand os._exit(0) is that it should only be used for
child processes, not parent processes, when a fork() is done.  Perhaps
there are some underlying things in the system or list configs which
cause the parent program to exit before the child is done reading
stdin. 

at any rate, if those who are experiencing this problem could try
replacing the os._exit(0) in the function "main()" in scripts/deliver
with "sys.exit(0)" or some such, this *might* fix the problem.  

I *think* that should be changed anyway, but could be mistaken.

that's my best educated guess.

if it don't help, i hope to be able to address more of this later this
week, but can't promise anything yet.

good luck,

scott

| thx
| -g
| 
| --
| Greg Stein, http://www.lyra.org/

| Date: Tue, 17 Nov 1998 12:00:02 -0800
| From: root at cartman.lyra.org (Cron Daemon)
| To: mailman at cartman.lyra.org
| Subject: Cron <mailman at cartman> /usr/bin/python /home/mailman/install/cron/senddigests
| X-Cron-Env: <SHELL=/bin/sh>
| X-Cron-Env: <HOME=/home/mailman>
| X-Cron-Env: <PATH=/usr/bin:/bin>
| X-Cron-Env: <LOGNAME=mailman>
| 
| Traceback (innermost last):
|   File "/home/mailman/install/cron/senddigests", line 37, in ?
|     main()
|   File "/home/mailman/install/cron/senddigests", line 34, in main
|     list.SendDigestIfAny()
|   File "/home/mailman/install/Mailman/Digester.py", line 194, in SendDigestIfAny
|     self.SendDigestOnSize(0)
|   File "/home/mailman/install/Mailman/Digester.py", line 206, in SendDigestOnSize
|     self.SendDigest()
|   File "/home/mailman/install/Mailman/Digester.py", line 291, in SendDigest
|     self.DeliverToList(d.Present(mime=1), 
|   File "/home/mailman/install/Mailman/Deliverer.py", line 133, in DeliverToList
|     status = cmdproc.close()
| IOError: (10, 'No child processes')
| 





More information about the Mailman-Users mailing list