[Dovecot] Problems with dovecot 2.1.7, spamassassin 3.3.2 and antispam plugin

Dean deano-dovecot at areyes.com
Sat Nov 16 17:34:13 EET 2013


So, is anyone out there actually *using* the antispam plugin with
spamassassin ?  What is your recipe for success ?

The issue I'm seeing here appears to be the running of a perl script
that does mysql access from dovecot.  I'm running the exact same script
from roundcube using the markasjunk2 plugin, and it works fine.  The
only difference is that roundcube provides a file argument for the email
to learn, while dovecot pipes the email into the script.

dovecot       sa-learn-pipe.sh --spam < /tmp/sometmpfile
roundcube   sa-learn-pipe.sh --spam /tmp/someotherfile

The script handles either case just fine.  Testing on the cmdline works
cleanly.  From antispam/dovecot, it always fails on the mysql access :

27877-sa-learn Nov 16 10:05:44.887 [27879] dbg: FuzzyOcr: Connecting to:
dbi:mysql:database=FuzzyOcr;mysql_socket=/var/run/mysqld/mysqld.sock                                                                                                   

27877-sa-learn libgcc_s.so.1 must be installed for pthread_cancel to work
27877-end

Something about the perl DBI interface seems to want something from the
libgcc_s.so lib and can't find it, even though it's installed.  But why
would it work fine from the cmdline, with any userid ?  And from
roundcube/markasjunk2 ?


On 11/11/2013 04:00 PM, Dean wrote:
> On 11/11/2013 02:31 AM, Steffen Kaiser wrote:
>   
>> On Fri, 8 Nov 2013, Dean Carpenter wrote:
>>
>>     
>>> Running /usr/bin/sa-learn directly always returns with an error code of
>>> 1, and the bayes DB isn't actually updated.  Running the
>>> /usr/local/bin/sa-learn-pipe.sh script from the example will run
>>> sa-learn successfully, but sa-learn fails partway through, right on a
>>> sql DB access.  I have both bayes and FuzzyOcr data stored in mysql, and
>>> the error occurs on accessing either one.  That is, I've tested with
>>> FuzzyOcr enabled, and it fails on the db access to the FuzzyOcr DB, and
>>> I've tried it with FuzzyOcr disabled.  In that case, it fails on the
>>> access to the bayes DB.
>>>       
>>> The error line right there is :
>>>       
>>>        libgcc_s.so.1 must be installed for pthread_cancel to work
>>>       
>>> Since sa-learn terminated prematurely, the bayes DB isn't updated at
>>>       
>> all.
>>
>> But this is not a Dovecot problem, isn't it? Antispam calls sa-learn,
>> but that program fails.
>>     
> Exactly true.  But the circumstance is particular to Dovecot, and I'm
> sure that *someone* else out there is using this config (dovecot and
> spamassassin).  So hoping someone has seen this and gotten around it.
>   
>> Do you have the system library libgcc_s installed as the error message
>> says?
>>     
> Yup.  $ locate
> libgcc_s                                                                              
>
> /lib/x86_64-linux-gnu/libgcc_s.so.1
> /usr/lib/gcc/x86_64-linux-gnu/4.7/libgcc_s.so
>
>   
>> Search the net for that error message, see:
>> https://lists.ubuntu.com/archives/foundations-bugs/2012-March/070050.html
>>
>> If you are on a 64bit system, maybe sa-learn is compiled 32bit only,
>> then the library must be installed as 32bit version as well.
>>     
> /usr/bin/sa-learn is a perl script, calling the various
> Mail::SpamAssassin modules.  No 32/64 bit there afaik.
>
>   



More information about the dovecot mailing list