SA Bugzilla – Bug 6642
unknown facility/priority
Last modified: 2019-06-24 13:48:00 UTC
I have the following error message in my syslog : 2011-07-30T00:11:30+02:00 server spamd[838]: syslog: unknown facility/priority: 186a6 2011-07-30T00:11:30+02:00 server spamd[838]: syslog: unknown facility/priority: 186a6 2011-07-30T00:11:30+02:00 server spamd[838]: syslog: unknown facility/priority: 186a6 Using SVN Thanks JM
> I have the following error message in my syslog : > 2011-07-30T00:11:30+02:00 server spamd[838]: syslog: unknown facility/priority: > 186a6 > Using SVN Can this be reproduced at will? Are these frequent or just sporadic? It would be useful to see the context, i.e. the surrounding debug messages when full debugging is enabled. Btw, I'm running the SVN trunk as well, but haven't see such log entries yet.
it appears at each new message being checked.
Created attachment 4943 [details] ruggedize syslog priority checking somewhat trunk: Bug 6642: unknown facility/priority - try to catch and report bad priority' Sending lib/Mail/SpamAssassin/Logger/Syslog.pm Committed revision 1152404. I don't see how that could be happening, but can't hurt to play safe. Could you please try the attached patch (or just the updated SVN trunk) and see if it makes any difference.
Update to latest SVN. Same message appears in the syslog
Any news on this ? Whatever SVN version gove the same syslog message.
> Any news on this ? No news. If you are still seeing this error despite the added safety net, my guess is that the problem lies in your implementation or installation of the perl module Sys::Syslog or something even below it. What is the version of Sys::Syslog, which version of perl? What OS? Was Sys::Syslog installed together of after the last upgrade of perl, or is it older, compiled against an older perl? Try: # perl -le 'use Sys::Syslog; print Sys::Syslog->VERSION' 0.27
# perl -le 'use Sys::Syslog; print Sys::Syslog->VERSION' 0.29
# perl --version This is perl 5, version 12, subversion 1 (v5.12.1) built for x86_64-linux-thread-multi
OS = Linux 3.0.3, 64bits AMD # uname -a Linux server 3.0.3-server #2 SMP Thu Aug 18 17:03:01 CEST 2011 x86_64 GNU/Linux libc 2.14
I re-installed all Syslog moduels via cpan (using the force option)
Any updates on this matter ? I upgraded Perl to 5.14.1, rsyslog, etc... got the latest SVN, etc... still the same.
> Any updates on this matter ? > # perl -le 'use Sys::Syslog; print Sys::Syslog->VERSION' > 0.29 > I upgraded Perl to 5.14.1, rsyslog, etc... got the latest SVN, etc... > still the same. So far it seems you are the only one experiencing this problem. Troubleshooting it without being able to reproduce it is difficult. I'm also running Perl 5.14.1 (*not* multithreaded) with Sys::Syslog 0.29, and it works fine. Did the self-test of a module Sys::Syslog run without errors? Mine says: # make test PERL_DL_NONLAZY=1 /usr/local/bin/perl5.14.1 "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t t/00-load.t .......... 1/1 # Testing Sys::Syslog 0.29, Perl 5.014001, /usr/local/bin/perl5.14.1 t/00-load.t .......... ok t/constants.t ........ ok t/data-validation.t .. skipped: POE is not available t/distchk.t .......... ok t/pod.t .............. ok t/podcover.t ......... ok t/podspell.t ......... skipped: Pod spelling: for maintainer only t/portfs.t ........... ok t/syslog.t ........... ok All tests successful. Files=9, Tests=319, 1 wallclock secs ( 0.05 usr 0.06 sys + 0.65 cusr 0.15 csys = 0.91 CPU) Result: PASS The test sends log messages to a facility local0. Check that these test log messages in a log file look alright. You may need to adjust /etc/syslog.conf to see them. Moreover, you may try experimenting with an option --syslog-socket of spamd. Its man page has this to say: --syslog-socket=type Specify how spamd should send messages to syslogd. The type can be any of the socket types or logging mechanisms as accepted by the subroutine Sys::Syslog::setlogsock(). Depending on a version of Sys::Syslog and on the underlying operating system, one of the following values (or their subset) can be used: "native", "eventlog", "tcp", "udp", "inet", "unix", "stream", "pipe", or "console". The value "eventlog" is specific to Win32 events logger and requires a perl module Win32::EventLog to be installed. For more information please consult the Sys::Syslog documentation. A historical setting --syslog-socket=none is mapped to -syslog=stderr. A default for Windows platforms is "none", otherwise the default is to try "unix" first, falling back to "inet" if perl detects errors in its "unix" support. Some platforms, or versions of perl, are shipped with old or dysfunctional versions of the Sys::Syslog module which do not support some socket types, so you may need to set this option explicitly. If you get error messages regarding __PATH_LOG or similar spamd, try changing this setting. The socket types "file" is used internally and should not be specified. Use the "-s" switch instead.
trunk: Bug 6642: just in case - as a precaution against CPAN-RT#56826 memory corruption bug in Sys-Syslog older than 0.28 Sending lib/Mail/SpamAssassin/Logger/Syslog.pm Committed revision 1170502. This is not directly related to Joan's case (but can't hurt to stay on the safe side), as he is running an already fixed version Sys-Syslog 0.29
Closing stale bug.