qrunner import error on regex module

Hello,
My setup is RedHat 7.2 with the default Python RPMs installed, Postfix 1.1.10 (installed from source), and Mailman 2.0.13 (installed from source). I installed Mailman with these options:
./configure --with-mail-gid=mailman --with-cgi-gid=www
--with-python=/usr/bin/python2.1
I'm using Mailman for 1 very small volume mailing list (a few messages per month). I installed it in early September, and everything worked for about a month. Yesterday, someone had sent a message that never got through. I check the error log (/home/mailman/logs/error) only to find this error:
Nov 06 11:29:01 2002 qrunner(8237): Traceback (most recent call last): Nov 06 11:29:01 2002 qrunner(8237): File "/home/mailman/cron/qrunner", line 283, in ? Nov 06 11:29:01 2002 qrunner(8237): kids = main(lock) Nov 06 11:29:01 2002 qrunner(8237): File "/home/mailman/cron/qrunner", line 253, in main Nov 06 11:29:01 2002 qrunner(8237): keepqueued = dispose_message(mlist, msg, msgdata) Nov 06 11:29:01 2002 qrunner(8237): File "/home/mailman/cron/qrunner", line 121, in dispose_message Nov 06 11:29:01 2002 qrunner(8237): if BouncerAPI.ScanMessages(mlist, mimemsg): Nov 06 11:29:01 2002 qrunner(8237): File "/home/mailman/Mailman/Bouncers/BouncerAPI.py", line 57, in ScanMessages Nov 06 11:29:01 2002 qrunner(8237): mod = __import__('Mailman.Bouncers.'+modname) Nov 06 11:29:01 2002 qrunner(8237): File "/home/mailman/Mailman/Bouncers/Catchall.py", line 34, in ? Nov 06 11:29:01 2002 qrunner(8237): import regsub Nov 06 11:29:01 2002 qrunner(8237): File "/usr/lib/python2.1/regsub.py", line 20, in ? Nov 06 11:29:01 2002 qrunner(8237): import regex Nov 06 11:29:01 2002 qrunner(8237): ImportError : No module named regex
Sure enough, there is no regex.py, and nor is the regex module compiled in:
Python 2.1.1 (#1, Aug 13 2001, 19:37:40) [GCC 2.96 20000731 (Red Hat Linux 7.1 2.96-96)] on linux2 Type "copyright", "credits" or "license" for more information.
I did some digging only to find that this error started to happen way back on Oct 10 (!) and I never noticed. Now, I've yet to find anything that changed on that day. The Python RPMs have not been upgraded. There were some RedHat libc upgrades right around that time, but I can't see any relation.
Does anyone have any clue as to why this stopped working and what I can do to get this going again?
Thanks,
-Dave

On Wed, Nov 06, 2002 at 11:42:59AM -0600, Dave Dribin wrote:
I suspect something is broken with the Python 2.1 installation, specifically the regex module was never compiled in. I fell back to 1.5 (i.e. just /usr/bin/python) which *does* have regex, and a flurry of messages were sent (i.e. all is working). I'm still baffled as to how it worked at all. I *swear* it was working for a month on Python 2.1 before it flaked out. And I also *swear* that I didn't touch Python 2.1 (i.e. it's the *same* RPM as the day I installed the machine). I must be losing my mind....
Actually, I just thought of theory. Prior to Oct. 10, all messages sent just went through. There were no detained messages, i.e. qrunner had nothing to do. Since then, 3 messages have been "detained" for the admin to look at. My theory is that a message that goes right through never needs the regex Python module, but qrunner needs regex, So for the first month of operation, everything worked, but as soon as something triggered qrunner, all hell broke lose. Not only did the detained messages never go through, but the email to the admin never went through either. The only reason I solved the problem is that a user said that a message never got through. I also need to check the Mailman logs more frequently than I do.
In any case, if the "regex" module is absolutely required (as seems to be the case), shouldn't the "./configure" script check for this and tell me *before* I install Mailman? It seems easy enough to detect.
-Dave, confused, but glad all is working

On Thu, Nov 07, 2002 at 12:34:51PM -0600, Dave Dribin wrote:
Ok, I did a little research to verify this. The only place the "regsub" or "regex" modules are used are in Bouncers/Catchall.py. Further more, the only place Catchall is used is Bouncers/BouncerAPI.py. And finally, the only places BouncerAPI is used is cron/qrunner. Thus qrunner is dependent on regex, but it is also the only place requiring regex.
It does indeed seem that "regex" is required for qrunner to work, and hence Mailman. Is it very unusual not to have "regex"? Is RH 7.2 Python > 1.5 essentially broken? FWIW, I've checked RH 7.3. It ships with Python 2.2 and 2.0. Both have "regex" built in.
-Dave
participants (1)
-
Dave Dribin