Runs out of memory on larger (5M) messages.

Bug #265902 reported by Xerouz
2
Affects Status Importance Assigned to Milestone
GNU Mailman
New
Wishlist
Unassigned

Bug Description

When trying to send an email with a 5M attachment,
Mailman seems to run out of memory. On the console I get:

marcos:mailman {106} Traceback (most recent call last):
  File "/usr/local/mailman/bin/qrunner", line 270, in ?
    main()
  File "/usr/local/mailman/bin/qrunner", line 230, in main
    qrunner.run()
  File "/usr/local/mailman/Mailman/Queue/Runner.py",
line 59, in run
    filecnt = self._oneloop()
  File "/usr/local/mailman/Mailman/Queue/Runner.py",
line 111, in _oneloop
    self._shunt.enqueue(msg, msgdata)
  File
"/usr/local/mailman/Mailman/Queue/Switchboard.py", line
91, in enqueue
    msgsave = cPickle.dumps(_msg, 1)
MemoryError: out of memory

The system is: OpenBSD 3.1, with 512M ram. Mailman
version 2.1.1

It would be nice to be able to have large attachments
as I want to use this for my company's support email
which quite often has larger than 10M files attached.

Thanks,
-- Steve

[http://sourceforge.net/tracker/index.php?func=detail&aid=723123&group_id=103&atid=100103]

Revision history for this message
Xerouz (xerouz) wrote :

Now, I'm getting errors in of a different kind:

Apr 24 10:03:18 2003 (22458) Uncaught runner exception: out
of memory
Apr 24 10:03:18 2003 (22458) Traceback (most recent call last):
  File "/usr/local/mailman/Mailman/Queue/Runner.py", line
105, in _oneloop
    self._onefile(msg, msgdata)
  File "/usr/local/mailman/Mailman/Queue/Runner.py", line
155, in _onefile
    keepqueued = self._dispose(mlist, msg, msgdata)
  File "/usr/local/mailman/Mailman/Queue/IncomingRunner.py",
line 130, in _dispose
    more = self._dopipeline(mlist, msg, msgdata, pipeline)
  File "/usr/local/mailman/Mailman/Queue/IncomingRunner.py",
line 153, in _dopipeline
    sys.modules[modname].process(mlist, msg, msgdata)
  File "/usr/local/mailman/Mailman/Handlers/ToDigest.py",
line 71, in process
    g.flatten(msg, unixfrom=1)
  File "/usr/local/mailman/pythonlib/email/Generator.py",
line 100, in flatten
    self._write(msg)
  File "/usr/local/mailman/pythonlib/email/Generator.py",
line 128, in _write
    self._dispatch(msg)
  File "/usr/local/mailman/pythonlib/email/Generator.py",
line 154, in _dispatch
    meth(msg)
  File "/usr/local/mailman/pythonlib/email/Generator.py",
line 267, in _handle_multipart
    print >> self._fp, '\n--' + boundary + '--',
MemoryError: out of memory

Apr 24 10:03:18 2003 (22458) SHUNTING:
1051196594.0123+3c7e0d1a0cd1e29359dea6cc2bb51307e06ad0df

Revision history for this message
Barry Warsaw (barry) wrote :

This is going to be a difficult one Steve. The problem is
that too much of Mailman wants to keep the message in
memory, starting from the email package. I'm not sure what
the best approach is, but it's probably going to include
stripping out large attachements and not carrying them
around during processing.

Mark Sapiro (msapiro)
Changed in mailman:
importance: Critical → Wishlist
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.