TurnKey Linux Virtual Appliance Library

Mailman breaks right after turnkey-pylib upgrade (any correlation?)

Mailmain breaks since Mar 1st ~ 14:00. It is installed on a TKL Redmine installation (11.2 I believe). The error messages that I receive since that time are:

 

/var/log/mail.info:Mar  1 14:28:35 redmine postfix/pipe[27195]: B6EE3200C4: to=<xxxx@xxxx.xxx>, 
relay=mailman, delay=3.9, delays=0.17/0.04/0/3.7, dsn=5.3.0, status=bounced (Command died with 
status 1: "/usr/lib/mailman/bin/postfix-to-mailman.py". Command output: 
Traceback (most recent call last):
   File "/usr/lib/mailman/bin/postfix-to-mailman.py", line 91, in <module>
     from Mailman import mm_cfg ImportError: No module named Mailman )

When I look in the cron-apt log I see the following updates over the last week:

 

  • libpq-dev libpq5 on Wed Feb 29 12:23:02 UTC 2012
  • tklbam turnkey-pylib on Thu Mar  1 12:23:01 UTC 2012
  • tklbam on Fri Mar  2 12:54:57 UTC 2012

Before this time, the Mailman process, spawned by Postfix ran beautifully with a number of lists and with 10ths of msgs a day. After this update of tklbam and turnkey-pylib, (these were the only changes to the system!) The mailman script cannot seem to import its own library. Is it possible that something has been reset in the python paths by the turnkey-pylib?

Also the etcconfig log does not show clear signs of changes surrounding that date and time? Any help appreciated to resolve the matter.

I removed the turnkey-pylib 0.3+31+g3e22221 package

I removed the turnkey-pylib installed package (version 0.3+31+g3e22221). Naturally, as a result this will break some packages (confconsole tklbam turnkey-sysinfo). These are essential for the backup to function, but not essential for the instance to run.

When sending emails to the list I get good results.

Mar  4 15:54:22 tech postfix/pipe[8716]: 3D0A820119: to=<xxx@xxx.xx>, 
  relay=mailman, delay=1.7, delays=1.2/0.04/0/0.46, dsn=2.0.0, 
  status=sent (delivered via mailman service)

The conclusion for me is that turnkey-pylib (or tklbam or related software) breaks something in the python installation due to which mailman does not function anymore.

Basic test is the following command from the commandline:

Correct working example (without turnkey-pylib 0.3+31+g3e22221 installed):

# /usr/lib/mailman/bin/postfix-to-mailman.py
Illegal invocation: '/usr/lib/mailman/bin/postfix-to-mailman.py'
 

Incorrect example (with turnkey-pylib 0.3+31+g3e22221 installed):

	# /usr/lib/mailman/bin/postfix-to-mailman.py
Traceback (most recent call last):
File "/usr/lib/mailman/bin/postfix-to-mailman.py", line 91, in <module>
from Mailman import mm_cfg
ImportError: No module named Mailman
When using python debugger on the postfix-to-mailman.py the pythonpath /etc/mailman is not added by the paths.py invocation.
 
sys.path pythonpath without turnkey-pylib installed
['/var/lib/mailman/pythonlib', '/var/lib/mailman', '/etc/mailman', 
'/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', 
'/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', 
'/usr/lib/python2.6/dist-packages', '/usr/lib/pymodules/python2.6', 
'/usr/local/lib/python2.6/dist-packages', '/usr/lib/mailman/bin', 
'/usr/lib/python2.6/site-packages']

incorrect pythonpath (by paths.py with turnkey-pylib installed)

['/var/lib/mailman/pythonlib', '/var/lib/mailman', '', 
'/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '
/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', 
'/usr/lib/python2.6/dist-packages', '/usr/lib/pymodules/python2.6', 
'/usr/local/lib/python2.6/dist-packages', '/usr/lib/mailman/bin', 
'/usr/lib/python2.6/site-packages']

I will check if I can revert back to an old release of turnkey-pylib (version 0.2+10+gcb57296) and if that seems to work. Right now I have no tklbam because of the removal of turnkey-pylib.

downgraded to tklbam 1.0 and turnkey-pylib 0.2

All is working fine when I downgraded to tklbam 1.0 (requires turnkey-pylib 0.2) and turnkey-pylib 0.2.

http://archive.turnkeylinux.org/ubuntu/pool/lucid/main/t/turnkey-pylib/turnkey-pylib_0.2%2b10%2bgcb57296_i386.deb

and

http://archive.turnkeylinux.org/ubuntu/pool/lucid/main/t/tklbam/tklbam_1.0_all.deb

I set the versions for these two packages on 'hold' until this issue is resolved.

Jeremy's picture

Thanks for reporting.

I suspect this is a regression introduced by the fix to this bug: https://bugs.launchpad.net/turnkeylinux/+bug/910515

Liraz Siri's picture

This is a mailman bug, not a TKLBAM bug. Here's the workaround

You're in luck. By happy coincidence we're also mailman users so I experienced this issue myself when I was tested the latest version of turnkey-pylib.

Long story short, edit /etc/mailman/postfix-to-mailman.py and change the line after import sys.os like this:

import sys, os
sys.path.insert(0, "/usr/lib/mailman/bin")
import paths
What's going on? Mailman broke due to a freakish interaction with turnkey-pylib.

turnkey-pylib has a paths.py module. So does mailman. Normally this wouldn't be a problem as local modules are preferred over system modules. But the postfix-to-mailman.py script is installed in /etc/mailman so /usr/lib/mailman/bin/paths.py isn't even in its path.

The postfix-to-mailman.py attempts to correct this by manipulating sys.path but it does so incorrectly by appending /usr/lib/mailman/bin to sys.path instead of inserting it at the beginning.

That's why turnkey-pylib's paths.py overrode mailman's paths.py.

Cheers!

Help with Mailman on turnkey

Hey Really like the turnkey setup. its a really great idea. i was wondering if liraz or anybody elese on here could send me somone instructions on how to get mailman working on this that would solve all my problems. i would greatly appreciate it!

 

Thanks,

Brandon

Jeremy's picture

Did you try the above workaround?

Liraz's instructions are fairly clear to me. Is there something you are missing? It may require you to restart mailman to get it to pickup the changes perhaps (or just reboot)? 

Mailman Setup Help

Sorry i wasnt very clear. I have never setup mailman before and need help installing mailman and setting up a mailing list. I posted in this forum since you guys have already setup ur on mailman servers with turnkey linux presetup box.

 

 

Thanks in advance for any help.

Jeremy's picture

Oh ok

Sorry I have no experience with Mailman (or mailservers in general) so I'm probably not much help to you. I suggest you have a look through the Ubuntu forums/wiki and see what you can find there (TKL v11.x is based on Ubuntu 10.04/Lucid).

Failing that you may find a tutorial somewhere else online (via google). Anything for Ubuntu 10.04/Lucid should work with minimal tweaking (eg don't need to use the 'sudo' command - so just omit that from any instructions). After that any other Ubuntu server based tutorials should work (or be close), tutorials for Debain may also work (although some may need minor tweaks due to different package naming between Ubuntu and Debian). Tutorials for other distros may have general relevance but will require more extensive tweaking to get them to work (eg RHEL/CENTOS use 'yum install' instead of 'apt-get install').

Hopefully that gets you heading in the right direction. If you have any problems, please feel free to start a new thread (I'll see it) describing what you are trying to do, the instructions you are following and where the problem is occuring and I will do what I can to help. If you don't get any response after a few days feel free to bump your new thread).

THANKS

liraz, you saved my mental health, thank you so much !

Thank god for this report! I

Thank god for this report! I was losing my mind over this. I removed turnkey-pylib and mailman started working magically!

Thanks

Post new comment

The content of this field is kept private and will not be shown publicly. If you have a Gravatar account, used to display your avatar.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <p> <span> <div> <h1> <h2> <h3> <h4> <h5> <h6> <img> <map> <area> <hr> <br> <br /> <ul> <ol> <li> <dl> <dt> <dd> <table> <tr> <td> <em> <b> <u> <i> <strong> <font> <del> <ins> <sub> <sup> <quote> <blockquote> <pre> <address> <code> <cite> <strike> <caption>

More information about formatting options

Leave this field empty. It's part of a security mechanism.
(Dear spammers: moderators are notified of all new posts. Spam is deleted immediately)