[Mailman-Users] Mailman/FreeBSD lockup

Mark Lysek mjl at squid.jpl.nasa.gov
Sat Sep 9 03:14:29 CEST 2000


Ok, I tried to figure out what was going on by using ktrace and stumbling 
through the code.  Running qrunner with ktrace seems to indicate that 
qrunner is not sending the complete message (omitting the closing "." at 
the end of the message).  Sendmail then eventually says: "451 timeout 
waiting for input during message collect".  Comparing ktrace output for 
mailman posting a short vs long message: qrunner reads in the entire 
message but somehow the long message is being truncated well before the 
ending '.'

It appears that the message is being sent by the "send" definition on line 
222 in Mailman/pythonlib/smtplib.py.  I then set debuglevel=1 in that file 
to see where the message was being truncated.  The debugging output seems 
to have the entire message being sent to the socket.

Looking in the Python bug list I find:
[ Bug #111710 ] socket.send() can do partial writes on some systems.
http://sourceforge.net/bugs/?group_id=5470&func=detailbug&bug_id=111710
specifically for FreeBSD 4.0 (and perhaps only for FreeBSD 4.0).  I may 
have to wait for this bug to be addressed.

-Mark
mjl at squid.jpl.nasa.gov

At 08:12 PM 9/7/00 -0700, you wrote:
>As always, it would be *really* interesting to know just what those
>processes are doing; apparently the FreeBSD command is 'ktrace'.
>Is sendmail refusing to read more data, or is mailman refusing to
>send it, or what?
>
> > Help!,
> > My (brand new) Mailman installation locks up when posting messages about
> > 50Kb or larger. (FreeBSD version 4.0, Mailman version 2.0beta5 installed
> > from the FreeBSD ports, Python 1.5.2 from the FreeBSD ports, Sendmail 
> 8.9.3)
> >
> > To isolate the problem, I created a list with only one subscriber on the
> > same host as the mailman installation.  When a 80Kb plaintext message is
> > posted to the list, qrunner stays around until it times out, without
> > completing it's session with sendmail.  The partially queued message is
> > consistently 49152 bytes long.  Shorter messages are delivered without any
> > problems.  While it's stuck, the following processes are hanging around:
> >
> > mailman 39004  /bin/sh -c /usr/local/bin/python -S 
> /usr/local/mailman/cron/...
> > mailman 39005  /usr/local/bin/python -S /usr/local/mailman/cron/qrunner
> > root    39007  sendmail: server localhost [127.0.0.1] child wait (sendmail)
> > root    39008  sendmail: TAA39008 localhost [127.0.0.1]: data (sendmail)
> >
> > Is there a timeout setting that should be increased?
> >
> > (This doesn't seem to be related to the problem mentioned in the mailman
> > README.BSD file, where they mention a known problem with the posixfile.py
> > module.  To be sure, I added "freebsd4" to the list of OS's in that patch.)
> >
> > Thanks,
> > -Mark
> > mjl at squid.jpl.nasa.gov
> >
> >
> >
> > ------------------------------------------------------
> > Mailman-Users maillist  -  Mailman-Users at python.org
> > http://www.python.org/mailman/listinfo/mailman-users





More information about the Mailman-Users mailing list