SA Update Failed
-
So far we are not able to reproduce the issue.
Perhaps the following will help
What operating system are the machines running on that are having this issue?
I have (1) machine as a mail server running Windows Server 2012 R2 Standard
Are there any messages logged by your firewalls, proxies, or AV applications when SA-Update.exe is running?
No. Event Viewer logs indicate nothing related to SA-Update or MDaemon
If you manually download the MIRRORED.BY file, save it to disk as \MDaemon\Spamassassin\defualt_rules\updates_spamassassin_org\MIRRORED.BY, then mark the file as read-only, is SA-Update able to download updates without errors?
Downloaded from: https://spamassassin.apache.org/updates/MIRRORED.BY
Marked file as Read-Only
Manually triggered SA-Update in MDaemon GUI
SUCCESS – received email indicating success, MIRRORED.BY file deleted, directory populated with 69 XX.cf files with current date and time.
HOWEVER, if I subsequently Manually trigger SA-Update in MDaemon GUI, NOTHING happens. No email notification, no change to the files in updates_spamassassin_org.
Any subsequent attempts also fail
Are you able to open the URLs using Chrome and Edge from the MDaemon server? (https://spamassassin.apache.org/updates/MIRRORED.BY and https://sa-update.spamassassin.org/MIRRORED.BY )
YES and YES
When you ping spamassassin.apache.org and sa-update.spamassassin.org, what IP addresses do you get?
spamassassin.apache.org 2a04:4e42::644: time=1ms
sa-update.spamassassin.org 2001:41d0:12a:d100::206: time=79ms
When running SA-Update, you should run it from an elevated command prompt and use the following command: sa-update.exe --updatedir="c:\mdaemon\spamassassin\default_rules" --nogpg -D
Be sure to update the path so that it is correct for your installation.The messages about the hashcash plugin can be ignored.
Opened Elevated Command Prompt and modified command so that it is correct for my installation
D:\Comm\MDAEMON\SpamAssassin> sa-update.exe --updatedir="d:\comm\mdaemon\spamassassin\default_rules" --nogpg -D
Click OK
Feb 5 05:49:46.749 [5484] dbg: logger: adding facilities: all
Feb 5 05:49:46.750 [5484] dbg: logger: logging level is DBG
Feb 5 05:49:46.751 [5484] dbg: generic: SpamAssassin version 4.0.0
Feb 5 05:49:46.751 [5484] dbg: generic: Perl 5.030001, PREFIX=./, DEF_RULES_DIR=d:\\comm\\mdaemon\\spamassassin\\default_rules, LOCAL_RULES_DIR=d:\\comm\\mdaemon\\s
Feb 5 05:49:46.751 [5484] dbg: config: timing enabled
Feb 5 05:49:46.751 [5484] dbg: config: score set 0 chosen.
Feb 5 05:49:46.756 [5484] dbg: util: defining getpwuid() wrapper using 'unknown' as username
Feb 5 05:49:46.758 [5484] dbg: generic: Site path is d:\\comm\\mdaemon\\spamassassin\\default_rules
Feb 5 05:49:46.758 [5484] dbg: generic: sa-update version 4.0.0 / svn1900642
Feb 5 05:49:46.758 [5484] dbg: generic: using update directory: d:\\comm\\mdaemon\\spamassassin\\default_rules
Feb 5 05:49:47.220 [5484] dbg: diag: perl platform: 5.030001 MSWin32
Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: Digest::SHA, version 6.02
Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: HTML::Parser, version 3.72
Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: Net::DNS, version 1.37
Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: NetAddr::IP, version 4.079
Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: Time::HiRes, version 1.976
Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: Archive::Tar, version 2.32
Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: IO::Zlib, version 1.10
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Digest::SHA1, version 2.13
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: MIME::Base64, version 3.15
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: DB_File, version 1.858
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Net::SMTP, version 3.11
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Net::LibIDN2 ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Net::LibIDN ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Mail::SPF ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: MaxMind::DB::Reader ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: MaxMind::DB::Reader::XS ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Geo::IP ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: IP::Country::DB_File ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: IP::Country::Fast ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Razor2::Client::Agent ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: IO::Socket::IP, version 0.39
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: IO::Socket::INET6, version 2.73
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: IO::Socket::SSL, version 2.081
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Compress::Zlib, version 2.09
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Mail::DKIM ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: DBI, version 1.642
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: DBD::SQLite ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: LWP::UserAgent, version 6.42
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Encode::Detect::Detector, version 1.01
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Net::Patricia ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Net::CIDR::Lite ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Net::DNS::Nameserver, version 1895
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: BSD::Resource ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Archive::Zip, version 1.67
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: IO::String, version 1.08
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Email::Address::XS ('require' failed)
Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Mail::DMARC ('require' failed)
Feb 5 05:49:47.244 [5484] dbg: util: secure_tmpfile created a temporary file C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\2\\.spamassassin54843GJzbDtmp
Feb 5 05:49:47.246 [5484] dbg: channel: attempting channel updates.spamassassin.org
Feb 5 05:49:47.247 [5484] dbg: channel: using existing directory D:\\comm\\mdaemon\\spamassassin\\default_rules\\updates_spamassassin_org
Feb 5 05:49:47.248 [5484] dbg: channel: channel cf file D:\\comm\\mdaemon\\spamassassin\\default_rules\\updates_spamassassin_org.cf
Feb 5 05:49:47.249 [5484] dbg: channel: channel pre file D:\\comm\\mdaemon\\spamassassin\\default_rules\\updates_spamassassin_org.pre
Feb 5 05:49:47.252 [5484] dbg: channel: metadata version = 1923544, from file D:\\comm\\mdaemon\\spamassassin\\default_rules\\updates_spamassassin_org.cf
Feb 5 05:49:47.303 [5484] dbg: dns: 0.0.4.updates.spamassassin.org => 1923544, parsed as 1923544
Feb 5 05:49:47.304 [5484] dbg: channel: current version is 1923544, new version is 1923544, skipping channel
The antispam log can be found in the MDaemon\logs directory. I have MDaemon logging by date so the name of the file for today is MDaemon-2025-02-04-AntiSpam.log.
Still cannot see the AntiSpam.log. Please see below.
From 2 days ago
In order to see the AntiSpam log you will need to have "Log Each service into a separate log file" enabled. (Setup / Server Settings / Logging / Log Mode).
-
Arron Staff
@Wayne Vance We were able to reprdouce the dll missing error on server 2012, but it did not prevent the update from working.
Do you have antispam logging enabled? Setup / Server Settings / Logging / Settings, is the box for Log spam filter activity checked?
For everyone having the issue, we are still not able to reproduce the SA-Update failure, but we have a few more things to try.
Please make sure you have all the latest windows updates installed.
Please install wireshark on the MDaemon server, and capture your network traffic while SA-Update is running and failing. Then upload the capture to us at https://mdaemon.sharefile.com/r-rc3922c1eed334d4dbf5e34f0bd04ccd6
Once the file is uploaded, please let us know the name of the file you uploaded.
Another option to try is to install curl from https://curl.se/, make sure it is in a path that is in the PATH environment variable. Easiest way to test this is to go to the root of C and run curl.exe --version. SA-Update will use Curl to download the files if it finds it in the PATH environment variable.
-
Arron,
I posted the long screed below this morning and it was accepted, but I guess it never showed up for you to read.
So far we are not able to reproduce the issue.
- Perhaps the following will help
What operating system are the machines running on that are having this issue?
- I have (1) machine as a mail server running Windows Server 2012 R2 Standard
Are there any messages logged by your firewalls, proxies, or AV applications when SA-Update.exe is running?
- No. Event Viewer logs indicate nothing related to SA-Update or MDaemon
If you manually download the MIRRORED.BY file, save it to disk as \MDaemon\Spamassassin\defualt_rules\updates_spamassassin_org\MIRRORED.BY, then mark the file as read-only, is SA-Update able to download updates without errors?
- Downloaded from: https://spamassassin.apache.org/updates/MIRRORED.BY
- Marked file as Read-Only
- Manually triggered SA-Update in MDaemon GUI
- SUCCESS – received email indicating success, MIRRORED.BY file deleted, directory populated with 69 XX.cf files with current date and time.
- HOWEVER, if I subsequently Manually trigger SA-Update in MDaemon GUI, NOTHING happens. No email notification, no change to the files in updates_spamassassin_org.
- Any subsequent attempts also fail
Are you able to open the URLs using Chrome and Edge from the MDaemon server? (https://spamassassin.apache.org/updates/MIRRORED.BY and https://sa-update.spamassassin.org/MIRRORED.BY )
- YES and YES
When you ping spamassassin.apache.org and sa-update.spamassassin.org, what IP addresses do you get?
- spamassassin.apache.org 2a04:4e42::644: time=1ms
- sa-update.spamassassin.org 2001:41d0:12a:d100::206: time=79ms
When running SA-Update, you should run it from an elevated command prompt and use the following command:
sa-update.exe --updatedir="c:\mdaemon\spamassassin\default_rules" --nogpg -D
Be sure to update the path so that it is correct for your installation.The messages about the hashcash plugin can be ignored.
- Opened Elevated Command Prompt and modified command so that it is correct for my installation
- D:\Comm\MDAEMON\SpamAssassin> sa-update.exe --updatedir="d:\comm\mdaemon\spamassassin\default_rules" --nogpg -D
I Click OK - the following is the output from the command window
- Feb 5 05:49:46.749 [5484] dbg: logger: adding facilities: all
- Feb 5 05:49:46.750 [5484] dbg: logger: logging level is DBG
- Feb 5 05:49:46.751 [5484] dbg: generic: SpamAssassin version 4.0.0
- Feb 5 05:49:46.751 [5484] dbg: generic: Perl 5.030001, PREFIX=./, DEF_RULES_DIR=d:\\comm\\mdaemon\\spamassassin\\default_rules, LOCAL_RULES_DIR=d:\\comm\\mdaemon\\s
- Feb 5 05:49:46.751 [5484] dbg: config: timing enabled
- Feb 5 05:49:46.751 [5484] dbg: config: score set 0 chosen.
- Feb 5 05:49:46.756 [5484] dbg: util: defining getpwuid() wrapper using 'unknown' as username
- Feb 5 05:49:46.758 [5484] dbg: generic: Site path is d:\\comm\\mdaemon\\spamassassin\\default_rules
- Feb 5 05:49:46.758 [5484] dbg: generic: sa-update version 4.0.0 / svn1900642
- Feb 5 05:49:46.758 [5484] dbg: generic: using update directory: d:\\comm\\mdaemon\\spamassassin\\default_rules
- Feb 5 05:49:47.220 [5484] dbg: diag: perl platform: 5.030001 MSWin32
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: Digest::SHA, version 6.02
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: HTML::Parser, version 3.72
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: Net::DNS, version 1.37
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: NetAddr::IP, version 4.079
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: Time::HiRes, version 1.976
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: Archive::Tar, version 2.32
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] module installed: IO::Zlib, version 1.10
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Digest::SHA1, version 2.13
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: MIME::Base64, version 3.15
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: DB_File, version 1.858
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Net::SMTP, version 3.11
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Net::LibIDN2 ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Net::LibIDN ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Mail::SPF ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: MaxMind::DB::Reader ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: MaxMind::DB::Reader::XS ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Geo::IP ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: IP::Country::DB_File ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: IP::Country::Fast ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Razor2::Client::Agent ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: IO::Socket::IP, version 0.39
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: IO::Socket::INET6, version 2.73
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: IO::Socket::SSL, version 2.081
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Compress::Zlib, version 2.09
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Mail::DKIM ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: DBI, version 1.642
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: DBD::SQLite ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: LWP::UserAgent, version 6.42
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Encode::Detect::Detector, version 1.01
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Net::Patricia ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Net::CIDR::Lite ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Net::DNS::Nameserver, version 1895
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: BSD::Resource ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: Archive::Zip, version 1.67
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module installed: IO::String, version 1.08
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Email::Address::XS ('require' failed)
- Feb 5 05:49:47.220 [5484] dbg: diag: [...] optional module not installed: Mail::DMARC ('require' failed)
- Feb 5 05:49:47.244 [5484] dbg: util: secure_tmpfile created a temporary file C:\\Users\\ADMINI~1\\AppData\\Local\\Temp\\2\\.spamassassin54843GJzbDtmp
- Feb 5 05:49:47.246 [5484] dbg: channel: attempting channel updates.spamassassin.org
- Feb 5 05:49:47.247 [5484] dbg: channel: using existing directory D:\\comm\\mdaemon\\spamassassin\\default_rules\\updates_spamassassin_org
- Feb 5 05:49:47.248 [5484] dbg: channel: channel cf file D:\\comm\\mdaemon\\spamassassin\\default_rules\\updates_spamassassin_org.cf
- Feb 5 05:49:47.249 [5484] dbg: channel: channel pre file D:\\comm\\mdaemon\\spamassassin\\default_rules\\updates_spamassassin_org.pre
- Feb 5 05:49:47.252 [5484] dbg: channel: metadata version = 1923544, from file D:\\comm\\mdaemon\\spamassassin\\default_rules\\updates_spamassassin_org.cf
- Feb 5 05:49:47.303 [5484] dbg: dns: 0.0.4.updates.spamassassin.org => 1923544, parsed as 1923544
- Feb 5 05:49:47.304 [5484] dbg: channel: current version is 1923544, new version is 1923544, skipping channel
STILL cannot see the AntiSpam.log. Please see below.
From 2 days ago
In order to see the AntiSpam log you will need to have "Log Each service into a separate log file" enabled. (Setup / Server Settings / Logging / Log Mode).
-
Arron Staff
@Wayne I read your post this morning before I responded, was there something that you were expecting a resonse to that I missed?
In regards to the AntiSpam log, is the "Log AntiSpam activity" check box at Setup / Server Settings / Logging / Settings checked?
Please make sure you have all the latest windows updates installed.
Please install wireshark on the MDaemon server, and capture your network traffic while SA-Update is running and failing. Then upload the capture to us at https://mdaemon.sharefile.com/r-rc3922c1eed334d4dbf5e34f0bd04ccd6
Once the file is uploaded, please let us know the name of the file you uploaded.
Another option to try is to install curl from https://curl.se/, make sure it is in a path that is in the PATH environment variable. Easiest way to test this is to go to the root of C and run curl.exe --version. SA-Update will use Curl to download the files if it finds it in the PATH environment variable.
-
Arron Staff
Do you have the following dlls in the MDaemon\SpamAssassin\ directory?
libcrypto-1_1-x64__.dlllibssl-1_1-x64__.dllzlib1__.dllIf you copy the dlls above from the MDaemon\SpamAssasin\ directory to the MDaemon\app directory, is SA-Update able to download updates?
-
I installed curl on our server this morning. The first sa-update worked as expected with the file MIRRORED.BY. I tried several times during the day and sa-update run and stops with Exit Code 1 I think this is good. Now I will wait for the next scheduled sa-update execution to see if it updates properly.
EXIT CODES
An exit code of
0
means an update was available, and was downloaded and installed successfully.An exit code of
1
means no fresh updates were available.An exit code of
4
or higher, indicates that errors occurred while attempting to download and extract updates.
-
@Arron
Hello Arron, the same thing has been happening to me since 01/28/2025. 01/27/2025 was the last day that SpammAssasin was updated. I have all Windows updates up to date and MDaemon running its latest version. I am attaching the Wireshark scan under the name MDaemon-Lazar.pcapng If you have any clue as to how I can solve it or if I can provide any damage so that they can replicate the failure, just let me know. Thank you so much!
-
Arron Staff
@Jonatan
Thank you for the capture. What operating system are you running MDaemon on?
Do you have the following dlls in the MDaemon\SpamAssassin\ directory?
libcrypto-1_1-x64__.dlllibssl-1_1-x64__.dllzlib1__.dllIf you copy the dlls above from the MDaemon\SpamAssasin\ directory to the MDaemon\app directory, is SA-Update able to download updates?If you install curl from https://curl.se/, make sure it is in a path that is in the PATH environment variable does it fix it? The easiest way to test if curl resides in a path that is in the PATH environment variable is to go to any directory other than where curl.exe is and run curl.exe --version. SA-Update will use Curl to download the files if it finds it in the PATH environment variable.
-
@Arron
The server is a Windows Server 2012 R2 Standard. The dlls are in the SpamAssasin directory. I copied them to the MDaemon\app directory but it still fails. I haven't seen how to install curl on Windows erver yet, so I can try that way.
-
@Arron
I have the crl installed on the server, could you tell me the command to perform the update? Thank you so much!!
-
Arron Staff
The dlls are in the SpamAssasin directory. I copied them to the MDaemon\app directory but it still fails.
What does the log show when it fails? Are you still seeing an error like this:
dbg: http: no external tool for download, fallback to using LWP
dbg: http: GET request, https://sa-update.spamassassin.org/MIRRORED.BY
dbg: http: (lwp) no content downloaded from https://sa-update.spamassassin.org/MIRRORED.BY
-
Arron Staff
@Jonatan
The command to run SA-Update does not change when curl is installed.
-
@Arron
Arron, I checked the content of the MIRRORED.BY file and it was blank, the striking thing is that it had been like this for a long time, I checked it with old backups that I have and that file was blank, I don't know if that is correct or not, but I copied into the file the content that appeared when I went to the web link https://sa-update.spamassassin.org/MIRRORED.BY and when I updated again it did it correctly. I apologize if the solution was right in front of my eyes and I couldn't see it. Maybe the same thing is happening to others. Thank you very much for your predisposition, as always!
-
Arron,
I'm back at this after a day's respite.
Here are some issues that come to mind:
- This issue began for me on 1/29/25. What changed? I doubt if it was my configuration since the MDaemon installation is the only application running on a Windows Server 2012 R2 within an AWS instance. I log on via RDP when there is an update and that is about it.
- When I checked the file dates within \updates_spamassassin_org after I renamed the directory on 2/1/25, I noticed that all the file dates were 11/19/24! I have 166 emails from MDaemon during the period from 11/19//24 through 1/28/25 that all say SUCCESS. What was going on there? Had the spam filter files NOT been updated on my machine during that time period. If the were, why was MDaemon reporting success? This is worrisome to me.
- As I have mentioned earlier, the Anti Spam log file does not exist even though I have checked the boxes for: Log each service into a separate log file; and Log Spam Filter updates. The other services are logging correctly and there are 24 log files dated 2/7/25 in the LOGS directory. Note that daily \LOGS\AntiVirus-ClamAVUpdater-2025-xx-xx.log files exist going back for 30 days.
- According to Task Manager, there are 3 MDaemon services running including MDaemon Spam Daemon. All are taking less than 1% CPU capacity aat the moment.
- This morning, I downloaded a new MIRRORED.BY file, moved it into an emptied "updates_spamassassin_org", marked it read-only, and manually clicked "Check for update now" in the GUI. Again, SUCCESS. All the file dates are 2/7/25 5:41 AM (EST). I also received a confirming email indicating SUCCESS.
- After the above success, I installed Curl and updated the PATH to point to it. When I manually checked for updates from the GUI - NOTHING. The files in the updates_spamassassin_org" directory retained their earlier time stamps and there was NO email.
- I copied the 4 DLLs from the Spamassassin directory to the App directory. Ran "sa-Update --no-gpg" from an adminstative command prompt and received the pop up System Error window that I have documented earlier. After clicking "OK", I was back in the cmd window WITH NO ERRORS LISTED! This is different from before I copied the DLLs. Before, as I mentioned earlier, I received the error:
plugin: failed to parse plugin (from @INC): Can't locate Mail/SpamAssassin/Plugin/Hashcash.pm in @INC (you may need to install the Mail::SpamAssassin::Plugin::Hashcash module) (@INC contains: ./lib PERL2EXE_STORAGE D:\Comm\MDAEMON\SpamAssassin C:\Users\ADMINI~1\AppData\Local\Temp\2\p2xtmp-4380) at (eval 187) line 1.
plugin: failed to parse plugin (from @INC): Can't locate Mail/SpamAssassin/Plugin/Hashcash.pm in @INC (you may need to install the Mail::SpamAssassin::Plugin::Hashcash module) (@INC contains: ./lib PERL2EXE_STORAGE D:\Comm\MDAEMON\SpamAssassin C:\Users\ADMINI~1\AppData\Local\Temp\2\p2xtmp-4380) at (eval 257) line 1.
- Note the above error messages are identicle except for (eval 187) vs (eval 257)
- If I can find the time, I'll get the Wireshark files to you some time today.
Wayne
-
Arron Staff
@Wayne
- This issue began for me on 1/29/25. What changed? I doubt if it was my configuration since the MDaemon installation is the only application running on a Windows Server 2012 R2 within an AWS instance. I log on via RDP when there is an update and that is about it.
We don't know what changed or what caused these issues to start happening. We do know that customers are experiencing multiple different issues that are all being lumped together because the result is the same, SA-Updates are not working. In one case it was AV scanning causing the issue. In other cases it has been caused by lwp (lwp is a perl comonent that is used for downloading content) being unable to find dlls it needs to run. In other cases, simply deleting the update directory and allowing them to be redownloaded has fixed it. Switching to curl will solve any issues that are being caused by lwp. If the issue is being caused by your AV, firewall, or anythign else on your network will not be solved by switching to curl. All newer windows Operating systmes are already using Curl as it is included in Windows now.
- As I have mentioned earlier, the Anti Spam log file does not exist even though I have checked the boxes for: Log each service into a separate log file; and Log Spam Filter updates. The other services are logging correctly and there are 24 log files dated 2/7/25 in the LOGS directory. Note that daily \LOGS\AntiVirus-ClamAVUpdater-2025-xx-xx.log files exist going back for 30 days.
I've asked several times for you to go to Setup / Server Settings / Logging / Settings and tell me if the "Log AntiSpam Activity" box is checked. I haven't seen a response to this, have I missed it?
- This morning, I downloaded a new MIRRORED.BY file, moved it into an emptied "updates_spamassassin_org", marked it read-only, and manually clicked "Check for update now" in the GUI. Again, SUCCESS. All the file dates are 2/7/25 5:41 AM (EST). I also received a confirming email indicating SUCCESS.
- After the above success, I installed Curl and updated the PATH to point to it. When I manually checked for updates from the GUI - NOTHING. The files in the updates_spamassassin_org" directory retained their earlier time stamps and there was NO email.
If you have just ran a successful update, as indicated by the previous bullet, then doing another update should result in NO email. When there is no update there should be no email.
- I copied the 4 DLLs from the Spamassassin directory to the App directory. Ran "sa-Update --no-gpg" from an adminstative command prompt and received the pop up System Error window that I have documented earlier. After clicking "OK", I was back in the cmd window WITH NO ERRORS LISTED! This is different from before I copied the DLLs. Before, as I mentioned earlier, I received the error:
plugin: failed to parse plugin (from @INC): Can't locate Mail/SpamAssassin/Plugin/Hashcash.pm in @INC (you may need to install the Mail::SpamAssassin::Plugin::Hashcash module) (@INC contains: ./lib PERL2EXE_STORAGE D:\Comm\MDAEMON\SpamAssassin C:\Users\ADMINI~1\AppData\Local\Temp\2\p2xtmp-4380) at (eval 187) line 1.
plugin: failed to parse plugin (from @INC): Can't locate Mail/SpamAssassin/Plugin/Hashcash.pm in @INC (you may need to install the Mail::SpamAssassin::Plugin::Hashcash module) (@INC contains: ./lib PERL2EXE_STORAGE D:\Comm\MDAEMON\SpamAssassin C:\Users\ADMINI~1\AppData\Local\Temp\2\p2xtmp-4380) at (eval 257) line 1.
As previously indicated, none of these errors prevent the update from working. While they are inconvienent and we will look into fixing them, they are not causing the the udpates to fail.
- If I can find the time, I'll get the Wireshark files to you some time today.
Based on the information provided, it looks like your updates are actually working. I don't think wireshark is necesary. Please watch it for the next few days and see what happens. You should only get an update email when the update fails or when there is actually an update.
-
Arron,
Thank you for a very informative reply. I can imagine that this is a furball and can't be much fun for you.
I am VERY embarrassed concerning the logging issue. Whe I properly followed what you asked me to do, I found that I had NOT checked the "Setup / Server Settings // Logging / Settings / Log Spam Filter activity". Now that I have a log to look at, I see that after manully triggering a check for updates, teh log inicates:
Feb 7 10:19:15.983 [5116] dbg: channel: current version is 1923607, new version is 1923607, skipping channel
Feb 7 10:19:15.984 [5116] dbg: diag: updates complete, exiting with code 1From an earlier post: An exit code of
1
means no fresh updates were available.I will keep an eye out over the weekend.
Thank you for your patience,
Wayne
-
Arron Staff
@Wayne
No problem, I'm glad you were able to get it working!
-
Arron, Good aftern
After the weekend, I now have had consecutive days where I received a SF Updatre SUCCESS email. It seems that things are working as they should.
According to the logs, in both cases the SA-Update ended with "updates complete, exiting with code 0" and all files in the updates_spamassassin_org directory had the correct dates.
Curl was successfully used for the downloads.
At your suggestion, I had installed Curl on my Windows Server 2012 R2 and modified the PATH statement to point to the \bin directory that contains curl.exe.
I have not had to deal with the PATH variable for many years. As a result, I naively used the cmd console to add the curl path to the existing PATH variable.
After rebooting, subsequent runs would fail without completing.
It turns out that setting the PATH this way is only valid for the session in which it was executed. The Curl path disappeared after rebooting.
To make the Curl PATH permanent, it is necessary to change it using: Control Panel / System / Advance System Settings / Advance (tab) /Environment Variables / System variables - Select "Path" from the list / Click "Edit" and add a semi-colon plus the path to \bin that contains curl.exe. Click OK and REBOOT.
Thanks for your help and patience,
Wayne
-
Arron Staff
Great, I'm glad its working for you! And thank you for the tip about setting the PATH, I would have done it from a command prompt too.
-
I can confirm that everything that Wayne explains in his last comment works. In summary install curl, add the path where curl (curl\bin) is installed to the PATH environment variable, restart the server and run SA-update from the graphical user interface. I have only one doubt, SA-Update runs at night on 01:30AM, can I change this scheduled time?.