I wrote a scrpt to populate ASSP config files with IP address ranges based on SPF values. For example, I call my GetDomainIPSfromSPF.pl script to get all of the IP's that ConstantContact.com says they can send from. It works well.
HOWEVER, on rare occasion, maybe once every 2-3 weeks, MainThread gets stuck calling the script, always when I do it with the ConstantContact parameter. My guess is that there's something quirky with the ConstantContact SPF, I'm doing something wrong, or something is broken. That's on me to figure out, but the problem is that when the script hangs, so does ASSP's SMTP processing. My Group Definitions config file has this entry: [GROUP-CONSTANTCONTACT-IPS] exec:c:/perl/bin/perl.exe "c:\scripts\GetDomainIPSfromSPF.pl" constantcontact.com That calls the perl script, telling it to get the ip's for constantcontact.com. The group looks fine upon visual inspection from the gui. Here's the log from this morning's temporary SMTP outage. SMTP was unresponsive for 16 minutes according to my monitors, consistent with the ASSP log. Sep-13-15 08:41:16 Saving config Sep-13-15 08:41:16 Info: no configuration changes detected - nothing to save - file c:/ASSP/assp.cfg is unchanged Sep-13-15 08:41:16 Adminupdate: [root x.x.x.9] file c:/ASSP/cfg/GroupDefinitions.cfg' for config 'Groups' was changed Sep-13-15 08:41:16 Option list file: c:/ASSP/cfg/GroupDefinitions.cfg' reloaded (Groups) with 43 records Sep-13-15 08:41:16 Info: loading groups from groupsfile c:/ASSP/cfg/GroupDefinitions.cfg Sep-13-15 08:41:16 Info: group GROUP-OUR-IPS loaded with 2 records Sep-13-15 08:41:55 Info: Name Server x.x.x.51: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:41:55 Info: Name Server x.x.x.52: ResponseTime = 2 ms for sourceforge.net Sep-13-15 08:41:55 Info: Name Server x.x.x.53: ResponseTime = 3 ms for sourceforge.net Sep-13-15 08:42:17 Info: notification message queued to sent to assp-not...@ourcharity.org *Sep-13-15 08:42:17 Error: MainThread stuck for 61 seconds after: MainLoop start - last debug step was: ConfigMakeGroupRe - exec:c:/perl/bin/perl.exe "c:\scripts\GetDomainIPSfromSPF.pl" constantcontact.com <http://constantcontact.com>!* Sep-13-15 08:42:20 Info: successful sent file c:/ASSP/messages/resendmail/n1000000000320.txt to x.x.x.35:25 (smtpDestination) Sep-13-15 08:42:28 Info: synchronizing all BerkeleyDB hashes to disk Sep-13-15 08:42:28 Info: compacting all BerkeleyDB hashes on disk Sep-13-15 08:42:55 Info: Name Server x.x.x.51: ResponseTime = 2 ms for sourceforge.net Sep-13-15 08:42:55 Info: Name Server x.x.x.52: ResponseTime = 17 ms for sourceforge.net Sep-13-15 08:42:55 Info: Name Server x.x.x.53: ResponseTime = 3 ms for sourceforge.net Sep-13-15 08:43:11 IPNumTries: cleaning cache finished: IP's before=1, deleted=1 Sep-13-15 08:43:11 SMTPdomainIP: cleaning cache finished: domain's before=9, deleted=0 Sep-13-15 08:43:11 SSLfailedCache: cleaning cache finished: IP's before=1, deleted=0 Sep-13-15 08:43:11 SubjectFrequency: cleaning cache finished: subjects before=6, deleted=4 Sep-13-15 08:43:55 Info: Name Server x.x.x.51: ResponseTime = 18 ms for sourceforge.net Sep-13-15 08:43:55 Info: Name Server x.x.x.52: ResponseTime = 3 ms for sourceforge.net Sep-13-15 08:43:55 Info: Name Server x.x.x.53: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:44:55 Info: Name Server x.x.x.51: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:44:55 Info: Name Server x.x.x.52: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:44:55 Info: Name Server x.x.x.53: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:45:55 Info: Name Server x.x.x.51: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:45:55 Info: Name Server x.x.x.52: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:45:55 Info: Name Server x.x.x.53: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:46:55 Info: Name Server x.x.x.51: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:46:55 Info: Name Server x.x.x.52: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:46:55 Info: Name Server x.x.x.53: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:47:55 Info: Name Server x.x.x.51: ResponseTime = 2 ms for sourceforge.net Sep-13-15 08:47:55 Info: Name Server x.x.x.52: ResponseTime = 19 ms for sourceforge.net Sep-13-15 08:47:55 Info: Name Server x.x.x.53: ResponseTime = 19 ms for sourceforge.net Sep-13-15 08:48:11 SMTPdomainIP: cleaning cache finished: domain's before=9, deleted=0 Sep-13-15 08:48:11 SSLfailedCache: cleaning cache finished: IP's before=1, deleted=0 Sep-13-15 08:48:11 SubjectFrequency: cleaning cache finished: subjects before=2, deleted=2 Sep-13-15 08:48:55 Info: Name Server x.x.x.51: ResponseTime = 23 ms for sourceforge.net Sep-13-15 08:48:55 Info: Name Server x.x.x.52: ResponseTime = 6 ms for sourceforge.net Sep-13-15 08:48:55 Info: Name Server x.x.x.53: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:49:55 Info: Name Server x.x.x.51: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:49:55 Info: Name Server x.x.x.52: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:49:55 Info: Name Server x.x.x.53: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:50:55 Info: Name Server x.x.x.51: ResponseTime = 3 ms for sourceforge.net Sep-13-15 08:50:55 Info: Name Server x.x.x.52: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:50:55 Info: Name Server x.x.x.53: ResponseTime = 4 ms for sourceforge.net Sep-13-15 08:51:55 Info: Name Server x.x.x.51: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:51:55 Info: Name Server x.x.x.52: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:51:55 Info: Name Server x.x.x.53: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:52:55 Info: Name Server x.x.x.51: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:52:55 Info: Name Server x.x.x.52: ResponseTime = 18 ms for sourceforge.net Sep-13-15 08:52:55 Info: Name Server x.x.x.53: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:53:11 SMTPdomainIP: cleaning cache finished: domain's before=9, deleted=0 Sep-13-15 08:53:11 SSLfailedCache: cleaning cache finished: IP's before=1, deleted=0 Sep-13-15 08:53:55 Info: Name Server x.x.x.51: ResponseTime = 10 ms for sourceforge.net Sep-13-15 08:53:55 Info: Name Server x.x.x.52: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:53:55 Info: Name Server x.x.x.53: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:54:55 Info: Name Server x.x.x.51: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:54:55 Info: Name Server x.x.x.52: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:54:55 Info: Name Server x.x.x.53: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:55:55 Info: Name Server x.x.x.51: ResponseTime = 2 ms for sourceforge.net Sep-13-15 08:55:55 Info: Name Server x.x.x.52: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:55:55 Info: Name Server x.x.x.53: ResponseTime = 3 ms for sourceforge.net Sep-13-15 08:56:55 Info: Name Server x.x.x.51: ResponseTime = 18 ms for sourceforge.net Sep-13-15 08:56:55 Info: Name Server x.x.x.52: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:56:55 Info: Name Server x.x.x.53: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:57:28 Info: synchronizing all BerkeleyDB hashes to disk Sep-13-15 08:57:28 Info: compacting all BerkeleyDB hashes on disk Sep-13-15 08:57:55 Info: Name Server x.x.x.51: ResponseTime = 1 ms for sourceforge.net Sep-13-15 08:57:55 Info: Name Server x.x.x.52: ResponseTime = 3 ms for sourceforge.net Sep-13-15 08:57:55 Info: Name Server x.x.x.53: ResponseTime = 18 ms for sourceforge.net Sep-13-15 08:58:11 SMTPdomainIP: cleaning cache finished: domain's before=9, deleted=0 Sep-13-15 08:58:11 SSLfailedCache: cleaning cache finished: IP's before=1, deleted=0 Sep-13-15 08:58:30 Info: group GROUP-CONSTANTCONTACT-IPS loaded 24 addresses via exec(line 1) Sep-13-15 08:58:30 Info: group GROUP-CONSTANTCONTACT-IPS loaded with 24 records Sep-13-15 08:58:31 Info: group GROUP-MANDRILL-IPS loaded 9 addresses via exec(line 1) Sep-13-15 08:58:31 Info: group GROUP-MANDRILL-IPS loaded with 9 records Sep-13-15 08:58:31 Info: group GROUP-MICROSOFT-IPS loaded 83 addresses via exec(line 1) Sep-13-15 08:58:32 Info: group GROUP-MICROSOFT-IPS loaded 83 addresses via exec(line 2) Sep-13-15 08:58:32 Info: group GROUP-MICROSOFT-IPS loaded with 166 records Sep-13-15 08:58:32 Info: group GROUP-GOOGLE-IPS loaded 12 addresses via exec(line 1) Sep-13-15 08:58:32 Info: group GROUP-GOOGLE-IPS loaded with 12 records Sep-13-15 08:58:33 Info: group GROUP-AMAZON-IPS loaded 20 addresses via exec(line 1) Sep-13-15 08:58:33 Info: group GROUP-AMAZON-IPS loaded with 20 records Sep-13-15 08:58:34 Info: group GROUP-FACEBOOK-IPS loaded 8 addresses via exec(line 1) Sep-13-15 08:58:34 Info: group GROUP-FACEBOOK-IPS loaded 6 addresses via exec(line 2) Sep-13-15 08:58:34 Info: group GROUP-FACEBOOK-IPS loaded with 14 records Sep-13-15 08:58:34 Info: group GROUP-HONEYPOT-EMAILS loaded with 12 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/SpamLoverSpecific/SpamLovers-NoDelaying.cfg' reloaded (delaySpamLovers) with 2 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/ValidMailboxes.cfg' reloaded (LocalAddresses_Flat) with 214 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/SpamOnlyAddresses.cfg' reloaded (spamaddresses) with 48 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/noBlockingIPs.cfg' reloaded (noBlockingIPs) with 5 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/LocalDomains.cfg' reloaded (localDomains) with 58 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/noBlockingIPs.cfg' reloaded (noBlockingIPs) with 5 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/PenaltyDoNotPenalizeIPs.cfg' reloaded (noPB) with 10 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/PenaltyDoNotPBWhiteTheseIPs.cfg' reloaded (noPBwhite) with 4 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/NoDelayIPs.cfg' reloaded (noDelay) with 9 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/DNSBLIgnoreTheseIPs.cfg' reloaded (noRBL) with 6 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/NoDelayIPs.cfg' reloaded (noDelay) with 9 records Sep-13-15 08:58:34 Option list file: c:/ASSP/cfg/DNSBLIgnoreTheseIPs.cfg' reloaded (noRBL) with 6 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/noBlockingIPs.cfg' reloaded (noBlockingIPs) with 5 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/PenaltyDoNotPenalizeIPs.cfg' reloaded (noPB) with 10 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/PenaltyDoNotPBWhiteTheseIPs.cfg' reloaded (noPBwhite) with 4 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/NoDelayIPs.cfg' reloaded (noDelay) with 9 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/DNSBLIgnoreTheseIPs.cfg' reloaded (noRBL) with 6 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/DNSBLIgnoreTheseIPs.cfg' reloaded (noRBL) with 6 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/noBlockingIPs.cfg' reloaded (noBlockingIPs) with 5 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/PenaltyDoNotPenalizeIPs.cfg' reloaded (noPB) with 10 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/PenaltyDoNotPBWhiteTheseIPs.cfg' reloaded (noPBwhite) with 4 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/NoDelayIPs.cfg' reloaded (noDelay) with 9 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/DNSBLIgnoreTheseIPs.cfg' reloaded (noRBL) with 6 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/noBlockingIPs.cfg' reloaded (noBlockingIPs) with 5 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/PenaltyDoNotPenalizeIPs.cfg' reloaded (noPB) with 10 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/PenaltyDoNotPBWhiteTheseIPs.cfg' reloaded (noPBwhite) with 4 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/NoDelayIPs.cfg' reloaded (noDelay) with 9 records Sep-13-15 08:58:35 Option list file: c:/ASSP/cfg/DNSBLIgnoreTheseIPs.cfg' reloaded (noRBL) with 6 records Sep-13-15 08:58:35 Info: MainThread has retured to normal state after stuck [[ email processing resumes here ]] So, is there some way to have ASSP continue on without MainThread getting stuck if there's a problem with a script called when updating a group definition? Note "rutured" is spelled wrong above in the log. THANKS! ------------------------------------------------------------------------------ _______________________________________________ Assp-test mailing list Assp-test@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/assp-test