You should change the logic to prevent the MainThread from doing DNS-queries in an external script.
Read the help text at the bottom of the GUI: "Fields marked with at least one asterisk (*) accept .... .... # include filename where filename is the relative path (from C:/assp) to the included file like files/inc1.txt or inc1.txt (one file per line). The line will be internaly replaced by the contents of the included file!" solution: Run the script that builds the list (doing DNS queries) in a cron job and store the result in a text file - lets say 'c:/assp/files/spfIPs.txt' In the 'Groups' file define the result file as included file [GROUP-CONSTANTCONTACT-IPS] #include files/spfIPs.txt ASSP constantly watches all defined files and all included files for updates. If the cron job changes the include file, assp will reload all groups. I found an issue for encrypted include-files. With the current release, one restart after making this changes may be required. An updated dev version will be released today. Thomas Von: K Post <nntp.p...@gmail.com> An: ASSP development mailing list <assp-test@lists.sourceforge.net> Datum: 13.09.2015 16:31 Betreff: [Assp-test] MainThread stuck occasionally calling external script 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 DISCLAIMER: ******************************************************* This email and any files transmitted with it may be confidential, legally privileged and protected in law and are intended solely for the use of the individual to whom it is addressed. This email was multiple times scanned for viruses. There should be no known virus in this email! ******************************************************* ------------------------------------------------------------------------------ _______________________________________________ Assp-test mailing list Assp-test@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/assp-test