From 1831321 at bugs.launchpad.net Sat Jun 1 09:24:29 2019 From: 1831321 at bugs.launchpad.net (Florian Schlegel) Date: Sat, 01 Jun 2019 13:24:29 -0000 Subject: [Bug 1831321] [NEW] the List-Id field is filled without < and > around the list-id if the description contains unsupported characters Message-ID: <155939546935.16310.4695708192037878768.malonedeb@chaenomeles.canonical.com> Public bug reported: According to rfc2919 the List-Id field should be formated like this: list-id-header = "List-ID:" [phrase] "<" list-id ">" CRLF This works as long as description is left blank or contains supported characters. In my case the description was as follows: ?ffentliche Supportliste As you can see the umlaut "?" got broken while importing the list from an old server. Unfortunately I don't know how the import was done. The field is still present but < and > around the list-id are missing. This is problematic with procmail and other mail filters. ** Affects: mailman Importance: Undecided Status: New -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1831321 Title: the List-Id field is filled without < and > around the list-id if the description contains unsupported characters To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1831321/+subscriptions From mark at msapiro.net Sat Jun 1 11:08:55 2019 From: mark at msapiro.net (Mark Sapiro) Date: Sat, 01 Jun 2019 15:08:55 -0000 Subject: [Bug 1831321] Re: the List-Id field is filled without < and > around the list-id if the description contains unsupported characters References: <155939546935.16310.4695708192037878768.malonedeb@chaenomeles.canonical.com> Message-ID: <155940173612.16654.16729110491348140890.malone@chaenomeles.canonical.com> I need more information to be able to duplicate this. What is the exact content of the list's description as produced by Mailman's `bin/config_list -o`, not from the web UI? What is the list's preferred_language? ** Changed in: mailman Status: New => Incomplete ** Changed in: mailman Assignee: (unassigned) => Mark Sapiro (msapiro) -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1831321 Title: the List-Id field is filled without < and > around the list-id if the description contains unsupported characters To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1831321/+subscriptions From 1831321 at bugs.launchpad.net Sat Jun 1 15:36:24 2019 From: 1831321 at bugs.launchpad.net (Florian Schlegel) Date: Sat, 01 Jun 2019 19:36:24 -0000 Subject: [Bug 1831321] Re: the List-Id field is filled without < and > around the list-id if the description contains unsupported characters References: <155939546935.16310.4695708192037878768.malonedeb@chaenomeles.canonical.com> Message-ID: <155941778470.13016.5212648696137615364.malone@soybean.canonical.com> I attached an export from our old server (via config_list -o). In my export the encoding looks OK. On our new server I had to fix the description from: description = "ffentliche Supportliste" (thats the way less displays the export on the new machine) to: description = "?ffentliche Supportliste" hexdump of the export on the new machine: 00000930 64 65 6e 2e 0a 64 65 73 63 72 69 70 74 69 6f 6e |den..description| 00000940 20 3d 20 22 d6 66 66 65 6e 74 6c 69 63 68 65 20 | = ".ffentliche | 00000950 53 75 70 70 6f 72 74 6c 69 73 74 65 22 0a 0a 23 |Supportliste"..#| preferred_language on the new system stayed the same through the ex-/import: preferred_language = 'de' It seems that the old setup was migrated using rsync. I was able to reproduce the problem by syncing only /var/lib/mailman/lists/helpdesk/config.pck from the old machine. This broke the encoding, and lead to the following mail header: List-Id: helpdesk.csn.tu-chemnitz.de We are currently using Mailman version 2.1.23 under Debian 9.9. The old machine ran with Ubuntu 12.04.5 LTS and Mailman version 2.1.14. ** Attachment added: "mm_old_config_for_import.conf" https://bugs.launchpad.net/mailman/+bug/1831321/+attachment/5268297/+files/mm_old_config_for_import.conf -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1831321 Title: the List-Id field is filled without < and > around the list-id if the description contains unsupported characters To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1831321/+subscriptions From 1831321 at bugs.launchpad.net Sat Jun 1 15:58:54 2019 From: 1831321 at bugs.launchpad.net (Florian Schlegel) Date: Sat, 01 Jun 2019 19:58:54 -0000 Subject: [Bug 1831321] Re: the List-Id field is filled without < and > around the list-id if the description contains unsupported characters References: <155939546935.16310.4695708192037878768.malonedeb@chaenomeles.canonical.com> Message-ID: <155941913439.13135.13678568027738967857.malone@soybean.canonical.com> After fixing the broken letter through the web interface, I end up with: 00000930 64 65 6e 2e 0a 64 65 73 63 72 69 70 74 69 6f 6e |den..description| 00000940 20 3d 20 22 c3 96 66 66 65 6e 74 6c 69 63 68 65 | = "..ffentliche| 00000950 20 53 75 70 70 6f 72 74 6c 69 73 74 65 22 0a 0a | Supportliste"..| List-Id: =?utf-8?q?=C3=96ffentliche_Supportliste?= -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1831321 Title: the List-Id field is filled without < and > around the list-id if the description contains unsupported characters To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1831321/+subscriptions From mark at msapiro.net Sat Jun 1 18:33:32 2019 From: mark at msapiro.net (Mark Sapiro) Date: Sat, 01 Jun 2019 22:33:32 -0000 Subject: [Bug 1831321] Re: the List-Id field is filled without < and > around the list-id if the description contains unsupported characters References: <155939546935.16310.4695708192037878768.malonedeb@chaenomeles.canonical.com> Message-ID: <155942841311.25293.8532897280230818962.malone@gac.canonical.com> See https://bazaar.launchpad.net/~mailman- coders/mailman/2.1/revision/1813 The reason this broke on your server change was Debian's misguided changing of Mailman's character set for all languages to UTF-8. See https://bugs.launchpad.net/mailman/+bug/1462755 ** Changed in: mailman Importance: Undecided => Low ** Changed in: mailman Status: Incomplete => Fix Committed ** Changed in: mailman Milestone: None => 2.1.30 -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1831321 Title: the List-Id field is filled without < and > around the list-id if the description contains unsupported characters To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1831321/+subscriptions From mark at msapiro.net Wed Jun 5 13:20:04 2019 From: mark at msapiro.net (Mark Sapiro) Date: Wed, 05 Jun 2019 17:20:04 -0000 Subject: [Bug 1831777] [NEW] The site list -owner, -request and -bounces addresses in virtual domains aren't deliverable. Message-ID: <155975520423.23831.14511102514617290178.malonedeb@chaenomeles.canonical.com> Public bug reported: The site list -owner, -request and -bounces addresses in virtual domains are used/exposed in password reminder emails and should be deliverable. ** Affects: mailman Importance: Low Assignee: Mark Sapiro (msapiro) Status: In Progress -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1831777 Title: The site list -owner, -request and -bounces addresses in virtual domains aren't deliverable. To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1831777/+subscriptions From mark at msapiro.net Wed Jun 5 15:12:39 2019 From: mark at msapiro.net (Mark Sapiro) Date: Wed, 05 Jun 2019 19:12:39 -0000 Subject: [Bug 1831777] Re: The site list -owner, -request and -bounces addresses in virtual domains aren't deliverable. References: <155975520423.23831.14511102514617290178.malonedeb@chaenomeles.canonical.com> Message-ID: <155976196052.17637.1502564592797102597.launchpad@wampee.canonical.com> ** Changed in: mailman Importance: Low => Medium ** Changed in: mailman Status: In Progress => Fix Committed -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1831777 Title: The site list -owner, -request and -bounces addresses in virtual domains aren't deliverable. To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1831777/+subscriptions From 1831777 at bugs.launchpad.net Wed Jun 5 19:45:59 2019 From: 1831777 at bugs.launchpad.net (Launchpad Bug Tracker) Date: Wed, 05 Jun 2019 23:45:59 -0000 Subject: [Bug 1831777] Re: The site list -owner, -request and -bounces addresses in virtual domains aren't deliverable. References: <155975520423.23831.14511102514617290178.malonedeb@chaenomeles.canonical.com> Message-ID: <155977836146.10533.14821593201205925135.launchpad@ackee.canonical.com> ** Branch linked: lp:mailman/2.1 -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1831777 Title: The site list -owner, -request and -bounces addresses in virtual domains aren't deliverable. To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1831777/+subscriptions From 1831321 at bugs.launchpad.net Wed Jun 5 19:45:59 2019 From: 1831321 at bugs.launchpad.net (Launchpad Bug Tracker) Date: Wed, 05 Jun 2019 23:45:59 -0000 Subject: [Bug 1831321] Re: the List-Id field is filled without < and > around the list-id if the description contains unsupported characters References: <155939546935.16310.4695708192037878768.malonedeb@chaenomeles.canonical.com> Message-ID: <155977836194.10533.240917021618432421.launchpad@ackee.canonical.com> ** Branch linked: lp:mailman/2.1 -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1831321 Title: the List-Id field is filled without < and > around the list-id if the description contains unsupported characters To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1831321/+subscriptions From 1774826 at bugs.launchpad.net Mon Jun 10 11:38:25 2019 From: 1774826 at bugs.launchpad.net (Ralf Jung) Date: Mon, 10 Jun 2019 15:38:25 -0000 Subject: [Bug 1774826] Re: Feature request: simple captcha References: <152798169305.24903.16625051013418669536.malonedeb@gac.canonical.com> Message-ID: <156018110557.17820.12254738232663503966.malone@wampee.canonical.com> All right, I finally got around to implement this. I submitted a merge request at https://code.launchpad.net/~ralfjung-e/mailman/2.1/+merge/368614. It took quite a while to figure out how to do that on Launchpad so I hope that's the right thing to do. -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1774826 Title: Feature request: simple captcha To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1774826/+subscriptions From jimpop at domainmail.org Mon Jun 10 11:52:20 2019 From: jimpop at domainmail.org (Jim Popovitch) Date: Mon, 10 Jun 2019 15:52:20 -0000 Subject: [Merge] lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1 In-Reply-To: <156018104050.31020.5388382266095117233.launchpad@ackee.canonical.com> Message-ID: <156018189776.18038.14186886579642237998.codereview@wampee.canonical.com> I like this solution, it's simple and easily customizable, doesn't rely on 3rd-party integrations, and the CAPTCHA questions can be easily updated. Nice work Ralf. One thing that I would like to see in the future is storing the CAPTCHAs in pck or even sql, etc. -- https://code.launchpad.net/~ralfjung-e/mailman/2.1/+merge/368614 Your team Mailman Coders is requested to review the proposed merge of lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1. From post+launchpad at ralfj.de Mon Jun 10 11:37:23 2019 From: post+launchpad at ralfj.de (Ralf Jung) Date: Mon, 10 Jun 2019 15:37:23 -0000 Subject: [Merge] lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1 Message-ID: <156018104050.31020.5388382266095117233.launchpad@ackee.canonical.com> Ralf Jung has proposed merging lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1. Commit message: Implement a simple CAPTCHA scheme based on questions and answers configured by the site admin. Fixes https://bugs.launchpad.net/mailman/+bug/1774826. I have manually edited listinfo.html for a few languages for testing; is there a way to automate that or do I have to manually do that for all languages? Requested reviews: Mailman Coders (mailman-coders) For more details, see: https://code.launchpad.net/~ralfjung-e/mailman/2.1/+merge/368614 -- Your team Mailman Coders is requested to review the proposed merge of lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1. -------------- next part -------------- A non-text attachment was scrubbed... Name: review-diff.txt Type: text/x-diff Size: 6681 bytes Desc: not available URL: From mark at msapiro.net Mon Jun 10 12:30:07 2019 From: mark at msapiro.net (Mark Sapiro) Date: Mon, 10 Jun 2019 16:30:07 -0000 Subject: [Merge] lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1 In-Reply-To: <156018104050.31020.5388382266095117233.launchpad@ackee.canonical.com> Message-ID: <156018420673.18441.5635206662842985506.codereview@wampee.canonical.com> Thanks for this. I am currently traveling and I will review it in detail as I have time. -- https://code.launchpad.net/~ralfjung-e/mailman/2.1/+merge/368614 Your team Mailman Coders is requested to review the proposed merge of lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1. From jimpop at domainmail.org Mon Jun 10 12:48:40 2019 From: jimpop at domainmail.org (Jim Popovitch) Date: Mon, 10 Jun 2019 16:48:40 -0000 Subject: [Merge] lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1 In-Reply-To: <156018104050.31020.5388382266095117233.launchpad@ackee.canonical.com> Message-ID: <156018531967.18488.9866717459022949707.codereview@wampee.canonical.com> If line 20 (in the patch below) sets "captcha_idx = 0" python throws an error: TypeError: cannot concatenate 'str' and 'int' objects I think a better solution would be to remove the captcha_idx from that section of code if it is None, (and set it to None at line 20). -- https://code.launchpad.net/~ralfjung-e/mailman/2.1/+merge/368614 Your team Mailman Coders is requested to review the proposed merge of lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1. From post+launchpad at ralfj.de Mon Jun 10 16:02:32 2019 From: post+launchpad at ralfj.de (Ralf Jung) Date: Mon, 10 Jun 2019 20:02:32 -0000 Subject: [Merge] lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1 In-Reply-To: <156018104050.31020.5388382266095117233.launchpad@ackee.canonical.com> Message-ID: <156019695117.17856.16590047565267929195.codereview@wampee.canonical.com> Ah good catch, I forgot to test this without CAPTCHAS set. However, the variable is used later to compute the hash for the form secret. Removing it conditionally will mean we have to mirror the same logic on the other side in subscribe.py. So for now I changed it to use the empty string instead. I don't know if this will automatically get included in this MR? -- https://code.launchpad.net/~ralfjung-e/mailman/2.1/+merge/368614 Your team Mailman Coders is requested to review the proposed merge of lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1. From jimpop at domainmail.org Mon Jun 10 16:39:32 2019 From: jimpop at domainmail.org (Jim Popovitch) Date: Mon, 10 Jun 2019 20:39:32 -0000 Subject: [Merge] lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1 In-Reply-To: <156018104050.31020.5388382266095117233.launchpad@ackee.canonical.com> Message-ID: <156019917174.31806.15881708584179948231.codereview@gac.canonical.com> The recent change will be included in the MR, you can confirm this by looking at the diff down below these comments on webform for the MR. -- https://code.launchpad.net/~ralfjung-e/mailman/2.1/+merge/368614 Your team Mailman Coders is requested to review the proposed merge of lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1. From ian at iankelling.org Thu Jun 13 12:10:03 2019 From: ian at iankelling.org (Ian Kelling) Date: Thu, 13 Jun 2019 16:10:03 -0000 Subject: [Bug 1832740] [NEW] init script / mailmanctl fails to stop mailman 2, reports success Message-ID: <156044220339.2385.3922595287292981602.malonedeb@wampee.canonical.com> Public bug reported: # systemctl restart mailman Jun 13 11:43:27 lists.gnu.org systemd[1]: Stopping LSB: Mailman Master Queue Runner... Jun 13 11:43:27 lists.gnu.org mailman[31096]: * Stopping Mailman master qrunner mailmanctl Jun 13 11:43:27 lists.gnu.org systemd[1]: Stopped LSB: Mailman Master Queue Runner. Jun 13 11:43:28 lists.gnu.org mailman[31096]: ...done. Jun 13 11:43:27 lists.gnu.org systemd[1]: Starting LSB: Mailman Master Queue Runner... Jun 13 11:43:31 lists.gnu.org mailman[31153]: * Starting Mailman master qrunner mailmanctl Jun 13 11:43:31 lists.gnu.org mailman[31153]: The master qrunner lock could not be acquired because it appears as if another Jun 13 11:43:31 lists.gnu.org mailman[31153]: master qrunner is already running. Jun 13 11:43:31 lists.gnu.org mailman[31153]: ...done. At this point, ps -ef | grep mailman shows 4 mailman processes remain: /usr/bin/python /usr/lib/mailman/bin/mailmanctl -s -q start and 3 qrunners, like this /usr/bin/python /var/lib/mailman/bin/qrunner --runner=OutgoingRunner:1:4 -s The qrunner log does show all the pids getting the TERM signal from mailmanctl: Jun 13 11:43:27 2019 (21946) OutgoingRunner qrunner caught SIGTERM. Stopping. But only 1 actually stopped. I manually send the qrunners kill signals over and over and wait until 5 minutes later, they finally terminate and mailmanctl with them. Then I run systemctl restart mailman again, and it really starts this time: Jun 13 11:48:51 lists.gnu.org systemd[1]: Stopping LSB: Mailman Master Queue Runner... Jun 13 11:48:51 lists.gnu.org mailman[10762]: * Stopping Mailman master qrunner mailmanctl Jun 13 11:48:51 lists.gnu.org mailman[10762]: PID unreadable in: /var/run/mailman/mailman.pid Jun 13 11:48:51 lists.gnu.org mailman[10762]: [Errno 2] No such file or directory: '/var/run/mailman/mailman.pid' Jun 13 11:48:51 lists.gnu.org mailman[10762]: Is qrunner even running? Jun 13 11:48:51 lists.gnu.org mailman[10762]: ...done. Jun 13 11:48:51 lists.gnu.org systemd[1]: Stopped LSB: Mailman Master Queue Runner. Jun 13 11:48:51 lists.gnu.org systemd[1]: Starting LSB: Mailman Master Queue Runner... Jun 13 11:48:55 lists.gnu.org mailman[10775]: * Starting Mailman master qrunner mailmanctl Jun 13 11:48:55 lists.gnu.org mailman[10775]: ...done. Jun 13 11:48:55 lists.gnu.org systemd[1]: Started LSB: Mailman Master Queue Runner I'm using mailman 2.1.23-1+deb9u4+8.0trisquel1 on trisquel 8, which has Python 2.7.12. I really need to figure out a fix or workaround to this bug, waiting 5 minutes to restart mailman is no good, I run a lot of very active lists on lists.gnu.org. Can I kill -9? Can I start the mailman while the old qrunners are still exiting? How can I help debug this to find a fix? ** Affects: mailman Importance: Undecided Status: New -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1832740 Title: init script / mailmanctl fails to stop mailman 2, reports success To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1832740/+subscriptions From mark at msapiro.net Thu Jun 13 12:57:50 2019 From: mark at msapiro.net (Mark Sapiro) Date: Thu, 13 Jun 2019 16:57:50 -0000 Subject: [Bug 1832740] Re: init script / mailmanctl fails to stop mailman 2, reports success References: <156044220339.2385.3922595287292981602.malonedeb@wampee.canonical.com> Message-ID: <156044507083.22882.4255429890987516234.malone@soybean.canonical.com> Based on what I see above, you have four OutgoingRunner processes each processing a quarter of the out queue space. When you stop Mailman, three of these processes take some time to stop. I think that's probably because they won't stop in the middle of processing a message, so probably the messages they are processing have a large number of recipients, and possibly delivery to the MTA is slow, so it takes some time for them to exit gracefully. You could probably SIGKILL them, but this would result in messages to all the recipients upon restart duplicating those that were sent before the process was killed. The real question is why is it taking 5+ minutes for the delivery of one message to all recipients? What does Mailman's SMTP log show? I.e., what are the number of recips and times in messages like: Jun 12 20:53:14 2019 (2142) smtp to listname for 265 recips, completed in 11.730 seconds In particular, the last entries before the restart? -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1832740 Title: init script / mailmanctl fails to stop mailman 2, reports success To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1832740/+subscriptions From 1833285 at bugs.launchpad.net Tue Jun 18 14:07:55 2019 From: 1833285 at bugs.launchpad.net (Kyle Pinkley) Date: Tue, 18 Jun 2019 18:07:55 -0000 Subject: [Bug 1833285] [NEW] Setting en_US.UTF-8 causing Mailman not to send E-Mail out to members (maximum recursion depth exceeded) Message-ID: <156088127529.12233.14926453035177109793.malonedeb@soybean.canonical.com> Public bug reported: CentOS 7.6.1810 Mailman 2.1.27 cPanel 80.0.18 Python 2.7.5 Servers with the operating system locale set to tr_TR.UTF-8 (localectl set-locale LANG=tr_TR.utf8 ) causes Mailman not to send E-Mail out to members of a mailing list. In the Mailman error log (/usr/local/cpanel/3rdparty/mailman/logs/error log file, the error is: === Jun 18 13:25:57 2019 (61183) Uncaught runner exception: maximum recursion depth exceeded Jun 18 13:25:57 2019 (61183) Traceback (most recent call last): File "/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/Runner.py", line 119, in _oneloop self._onefile(msg, msgdata) File "/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/Runner.py", line 190, in _onefile keepqueued = self._dispose(mlist, msg, msgdata) File "/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/IncomingRunner.py", line 130, in _dispose more = self._dopipeline(mlist, msg, msgdata, pipeline) File "/usr/local/cpanel/3rdparty/mailman/Mailman/Queue/IncomingRunner.py", line 150, in _dopipeline __import__(modname) File "/usr/local/cpanel/3rdparty/mailman/Mailman/Handlers/Approve.py", line 28, in from email.Iterators import typed_subpart_iterator File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) File "/usr/lib64/python2.7/email/__init__.py", line 82, in __getattr__ return getattr(mod, name) RuntimeError: maximum recursion depth exceeded Jun 18 13:25:57 2019 (61183) SHUNTING: 1560878756.850385+087f775ba5b8baeb5c738d63f0e49ab427182150 === Setting the operating system locale to en_US.UTF-8 (localectl set-locale LANG=en_US.UTF-8) then restarting the Mailman service, E-Mail sent to the mailing list is successfully E-Mailing out the mailing list members now. I confirmed this issue on two different servers. This issue appears to be with the Python 2.7 Email package, specifically somewhere here (from /usr/lib64/python2.7/email/__init__.py): === # Lazy loading to provide name mapping from new-style names (PEP 8 compatible # email 4.0 module names), to old-style names (email 3.0 module names). import sys class LazyImporter(object): def __init__(self, module_name): self.__name__ = 'email.' + module_name def __getattr__(self, name): __import__(self.__name__) mod = sys.modules[self.__name__] self.__dict__.update(mod.__dict__) return getattr(mod, name) === Wanted to report the issue here first though just incase. ** Affects: mailman Importance: Undecided Status: New -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1833285 Title: Setting en_US.UTF-8 causing Mailman not to send E-Mail out to members (maximum recursion depth exceeded) To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1833285/+subscriptions From mark at msapiro.net Tue Jun 18 15:43:02 2019 From: mark at msapiro.net (Mark Sapiro) Date: Tue, 18 Jun 2019 19:43:02 -0000 Subject: [Bug 1833285] Re: Setting en_US.UTF-8 causing Mailman not to send E-Mail out to members (maximum recursion depth exceeded) References: <156088127529.12233.14926453035177109793.malonedeb@soybean.canonical.com> Message-ID: <156088698275.471.12750468486913112348.malone@chaenomeles.canonical.com> I am unable to duplicate this. In any case, it would seem to be a Python email issue rather than a Mailman issue. Does this issue occur if you just invoke Python and do from email.Iterators import typed_subpart_iterator ** Changed in: mailman Status: New => Incomplete -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1833285 Title: Setting en_US.UTF-8 causing Mailman not to send E-Mail out to members (maximum recursion depth exceeded) To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1833285/+subscriptions From noreply at launchpad.net Wed Jun 19 19:51:55 2019 From: noreply at launchpad.net (noreply at launchpad.net) Date: Wed, 19 Jun 2019 23:51:55 -0000 Subject: [Merge] lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1 In-Reply-To: <156018104050.31020.5388382266095117233.launchpad@ackee.canonical.com> Message-ID: <156098831228.30313.3136209469209979432.launchpad@ackee.canonical.com> The proposal to merge lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1 has been updated. Status: Needs review => Merged For more details, see: https://code.launchpad.net/~ralfjung-e/mailman/2.1/+merge/368614 -- Your team Mailman Coders is requested to review the proposed merge of lp:~ralfjung-e/mailman/2.1 into lp:mailman/2.1. From 1774826 at bugs.launchpad.net Wed Jun 19 19:57:06 2019 From: 1774826 at bugs.launchpad.net (Launchpad Bug Tracker) Date: Wed, 19 Jun 2019 23:57:06 -0000 Subject: [Bug 1774826] Re: Feature request: simple captcha References: <152798169305.24903.16625051013418669536.malonedeb@gac.canonical.com> Message-ID: <156098862744.30647.7033385286917357011.launchpad@ackee.canonical.com> ** Branch linked: lp:mailman/2.1 -- You received this bug notification because you are a member of Mailman Coders, which is subscribed to GNU Mailman. https://bugs.launchpad.net/bugs/1774826 Title: Feature request: simple captcha To manage notifications about this bug go to: https://bugs.launchpad.net/mailman/+bug/1774826/+subscriptions From futatuki at poem.co.jp Fri Jun 21 05:33:27 2019 From: futatuki at poem.co.jp (Yasuhito FUTATSUKI at POEM) Date: Fri, 21 Jun 2019 09:33:27 -0000 Subject: [Merge] lp:~futatuki/mailman/2.1-ja-translation into lp:mailman/2.1 Message-ID: <156110960319.15089.9348530959727879616.launchpad@ackee.canonical.com> Yasuhito FUTATSUKI at POEM has proposed merging lp:~futatuki/mailman/2.1-ja-translation into lp:mailman/2.1. Commit message: Update Japanese translations up to lp:mailman/2.1 rev 1817 Requested reviews: Mailman Coders (mailman-coders) For more details, see: https://code.launchpad.net/~futatuki/mailman/2.1-ja-translation/+merge/369153 Update japanese translations including * messages/ja/LC_MESSAGES/mailman.po: - add msgstr for new msgid - minor style fix in msgid (end of column,etc) - minor refinement on translation words for "address" by context * messages/ja/UPGRADING - add section for "UPGRADING FROM 2.1.26- to 2.1.27+", which is notification of dropping support for Python prior 2.6. (I think it is better to add original UPGRADING) - add section for "UPGRADING FROM 2.1.27- to 2.1.28+", which is notification of Japanese template update for unitication of punction marks. * messages/ja/Defaults.py.in - add items and its translation of description comment - unification of translation words for "subscribe", ("??", "??" -> "??") - trim extra space on end of lines * templates/ja/admindbdetails.html - unification of translation words for "spam" * templates/ja/invite.txt - style fix to use ascii for digit -- Your team Mailman Coders is requested to review the proposed merge of lp:~futatuki/mailman/2.1-ja-translation into lp:mailman/2.1. -------------- next part -------------- A non-text attachment was scrubbed... Name: review-diff.txt Type: text/x-diff Size: 29767 bytes Desc: not available URL: From noreply at launchpad.net Fri Jun 21 17:21:42 2019 From: noreply at launchpad.net (noreply at launchpad.net) Date: Fri, 21 Jun 2019 21:21:42 -0000 Subject: [Merge] lp:~futatuki/mailman/2.1-ja-translation into lp:mailman/2.1 In-Reply-To: <156110960319.15089.9348530959727879616.launchpad@ackee.canonical.com> Message-ID: <156115209992.8016.5647768680129176027.launchpad@ackee.canonical.com> The proposal to merge lp:~futatuki/mailman/2.1-ja-translation into lp:mailman/2.1 has been updated. Status: Needs review => Merged For more details, see: https://code.launchpad.net/~futatuki/mailman/2.1-ja-translation/+merge/369153 -- Your team Mailman Coders is requested to review the proposed merge of lp:~futatuki/mailman/2.1-ja-translation into lp:mailman/2.1.