[Fixed] Critical bug core-8.4.0~273: Dagent not delivering mails if plugin-manager is enabled.

Since core-8.4.0~273_56.1, dagent is no longer delivering mail, if plugin-manager is enabled.

maillog:

Apr 12 10:32:03 38162 postfix/pipe[16743]: D02725405E0: to=<hias@aegaeon.de>, relay=kopano, delay=383, delays=382/0.14/0/0.11, dsn=4.3.0, status=deferred (temporary failure)

dagent.log:

K-1732: Unable to initialize the dagent plugin manager: Unknown error code (1)
Python error: 'module' object has no attribute 'DAgentPluginmanager'

As of current, disabling the plugin-manager in dagent.cfg is a working solution.

CentOS 6.9
Python 2.6
kopano-dagent 8,4,0,287

++umgfoin.

core kc-git-master 8.6.80.189
webapp git-master 3.4.9.116-g3bb3c1d
z-push 2.4.1beta0+0
CentOS 6.9
nginx/1.11.10
PHP 7.1.15 (fpm-fcgi)
Python 2.6.6

@umgfoin do you have any plugins enabled that could cause the failure?

Hi Felix,
no, plugin-path is empty.

plugin_manager_path = /usr/share/kopano-dagent/python
plugin_path = /var/lib/kopano/dagent/plugins

[tadao@ando kopano]# ls /var/lib/kopano/dagent/plugins
insgesamt 0

[tadao@ando kopano]# ls /usr/share/kopano-dagent/python/
insgesamt 100K
drwxr-xr-x 2 root root 4,0K 12. Apr 10:08 plugins
-rw-r--r-- 1 root root 1,8K 12. Apr 02:58 mapiplugin.py
-rw-r--r-- 1 root root 5,0K 12. Apr 02:58 pluginmanager.py
-rw-r--r-- 1 root root 1,5K 12. Apr 02:58 plugintemplates.py
-rw-r--r-- 1 root root  539 12. Apr 02:58 wraplogger.py
-rw-r--r-- 1 root root 1,8K 12. Apr 02:58 zconfig.py
-rw-r--r-- 1 root root 1002 12. Apr 02:58 zinterval.py
-rw-r--r-- 1 root root 1,6K 12. Apr 02:58 zunit.py
-rw-r--r-- 2 root root 2,7K 12. Apr 02:58 mapiplugin.pyc
-rw-r--r-- 2 root root 4,2K 12. Apr 02:58 pluginmanager.pyc
-rw-r--r-- 2 root root 2,8K 12. Apr 02:58 plugintemplates.pyc
-rw-r--r-- 2 root root 1,8K 12. Apr 02:58 wraplogger.pyc
-rw-r--r-- 2 root root 2,7K 12. Apr 02:58 zconfig.pyc
-rw-r--r-- 2 root root 1,5K 12. Apr 02:58 zinterval.pyc
-rw-r--r-- 2 root root 2,0K 12. Apr 02:58 zunit.pyc
-rw-r--r-- 2 root root 2,7K 12. Apr 02:58 mapiplugin.pyo
-rw-r--r-- 2 root root 4,2K 12. Apr 02:58 pluginmanager.pyo
-rw-r--r-- 2 root root 2,8K 12. Apr 02:58 plugintemplates.pyo
-rw-r--r-- 2 root root 1,8K 12. Apr 02:58 wraplogger.pyo
-rw-r--r-- 2 root root 2,7K 12. Apr 02:58 zconfig.pyo
-rw-r--r-- 2 root root 1,5K 12. Apr 02:58 zinterval.pyo
-rw-r--r-- 2 root root 2,0K 12. Apr 02:58 zunit.pyo

[tadao@ando kopano]# ls /usr/share/kopano-dagent/python/plugins/
insgesamt 44K
-rw-r--r-- 1 root root  571 12. Apr 02:58 movetopublic.cfg
-rw-r--r-- 1 root root 4,2K 12. Apr 02:58 BMP2PNG.py
-rw-r--r-- 1 root root 1,3K 12. Apr 02:58 examplerules.py
-rw-r--r-- 1 root root 3,5K 12. Apr 02:58 movetopublic.py
-rw-r--r-- 2 root root 4,0K 12. Apr 02:58 BMP2PNG.pyc
-rw-r--r-- 2 root root 1,6K 12. Apr 02:58 examplerules.pyc
-rw-r--r-- 2 root root 3,6K 12. Apr 02:58 movetopublic.pyc
-rw-r--r-- 2 root root 4,0K 12. Apr 02:58 BMP2PNG.pyo
-rw-r--r-- 2 root root 1,6K 12. Apr 02:58 examplerules.pyo
-rw-r--r-- 2 root root 3,6K 12. Apr 02:58 movetopublic.pyo

core kc-git-master 8.6.80.189
webapp git-master 3.4.9.116-g3bb3c1d
z-push 2.4.1beta0+0
CentOS 6.9
nginx/1.11.10
PHP 7.1.15 (fpm-fcgi)
Python 2.6.6

I tried reproducing this on a CentOS 6.9 machine with 8,4,0,301 and only get:

Thu Apr 13 03:34:30 2017: [warning] [11432] ! Plugins directory '/var/lib/kopano/dagent/plugins' doesn't exists.Plugins not loaded.

After creating this folder there is no further error message in the logs (mail delivery was successful before and after). I have created https://jira.kopano.io/browse/KC-631 to fix the packages.

Hi Felix,
here the problem persists (updated to 8,4,0,301): As soon as I enable plugins in dagent, mail delivery is discontinued and the following error-messages appear with every unqueue attempt from postfix.


Thu Apr 13 10:11:34 2017: [ notice] [22737] LMTP service will now exit
Thu Apr 13 10:11:34 2017: [ notice] [23798] Starting kopano-dagent LMTP mode version 8,4,0,301 (301), pid 23798
Thu Apr 13 10:13:25 2017: [ notice] [23798] LMTP service will now exit
Thu Apr 13 10:13:25 2017: [info   ] Maximum LMTP threads set to 20
Thu Apr 13 10:13:25 2017: [info   ] Listening on port 2003 for LMTP
Thu Apr 13 10:13:25 2017: [info   ] [23994] Logger process started on pid 23996
Thu Apr 13 10:13:25 2017: [debug  ] [23994] StatsClient binding socket
Thu Apr 13 10:13:25 2017: [debug  ] [23994] StatsClient bound socket to /tmp/.1071578776b35b1.sock
Thu Apr 13 10:13:25 2017: [ notice] [23994] Starting kopano-dagent LMTP mode version 8,4,0,301 (301), pid 23994
Thu Apr 13 10:13:56 2017: [24030] [error  ]   Python type: (null)
Thu Apr 13 10:13:56 2017: [24030] [error  ]   Python error: 'module' object has no attribute 'DAgentPluginmanager'
Thu Apr 13 10:13:56 2017: [24030] [crit   ] K-1732: Unable to initialize the dagent plugin manager: Unknown error code (1).
Thu Apr 13 10:14:38 2017: [24084] [error  ]   Python type: (null)
Thu Apr 13 10:14:38 2017: [24084] [error  ]   Python error: 'module' object has no attribute 'DAgentPluginmanager'
Thu Apr 13 10:14:38 2017: [24084] [crit   ] K-1732: Unable to initialize the dagent plugin manager: Unknown error code (1).

core kc-git-master 8.6.80.189
webapp git-master 3.4.9.116-g3bb3c1d
z-push 2.4.1beta0+0
CentOS 6.9
nginx/1.11.10
PHP 7.1.15 (fpm-fcgi)
Python 2.6.6

@fbartels
yes,

cd  core-8.4.0~301_64.1-RHEL_6_PHP_56-x86_64
yum update *.rpm
...
Untersuche python-kopano-8.4.0~301-64.1.x86_64.rpm: python-kopano-8.4.0~301-64.1.x86_64
python-kopano-8.4.0~301-64.1.x86_64.rpm: aktualisiert installierte Pakete nicht.
...

core kc-git-master 8.6.80.189
webapp git-master 3.4.9.116-g3bb3c1d
z-push 2.4.1beta0+0
CentOS 6.9
nginx/1.11.10
PHP 7.1.15 (fpm-fcgi)
Python 2.6.6

@fbartels Hi Felix,

Even after disabling dagent plugin, mails are not delivering. This is on CentOS 7.3

Apr 18 23:45:55 kcn postfix/local[5299]: B980B60D72CF: to=, relay=local, delay=485, delays=485/0.03/0/0.06, dsn=4.3.0, status=deferred (temporary failure. Command output: [ 5300] [error  ]   Python type: (null) [ 5300] [error  ]   Python error: 'module' object has no attribute 'DAgentPluginmanager' [ 5300] [crit   ] K-1732: Unable to initialize the dagent plugin manager: Unknown error code (1). )![alt text](image url)


[root@kcn kopano]# grep -i ^plugin_enabled dagent.cfg 
plugin_enabled = no

[root@kcn kopano]# rpm -qa | egrep -i 'kopano-server|python-kopano'
kopano-server-8.4.0~344-71.1.x86_64
kopano-server-packages-8.4.0~344-71.1.x86_64
python-kopano-8.4.0~344-71.1.x86_64
[root@kcn kopano]#

Since I had a Centos 7 machine up to test something else, I decided to give this another try. But still no luck in reproducing this.

Kopano Core 8,4,0,344
CentOS Linux release 7.3.1611 (Core)

@fbartels

  • I followed the installation procedure from here
  • Its the exact same version of CentOS Linux release 7.3.1611 (Core)
  • postfix config are basic.

Hi @fbartels ,

I was using below settings in main.cf which was the issue. I commented it out

mail_command = /usr/sbin/kopano-dagent "$USER" 

Instead I started using below and it worked.

mailbox_transport = lmtp:127.0.0.1:2003

Ok, thanks to your additional information I was finally able to reproduce this issue and it seems to indeed only happen, when delivering via pipe. I have created https://jira.kopano.io/browse/KC-642 to followup on this issue.

@fbartels
Great, you discovered that!
Just changed my postfix-config from PIPE to LMTP transport and can confirm your findings for Centos 6.9/ Python 2.7:
No dagent-plugin problem with LMTP transport - the issue seems to concern piped connections, only.
++umgfoin.

core kc-git-master 8.6.80.189
webapp git-master 3.4.9.116-g3bb3c1d
z-push 2.4.1beta0+0
CentOS 6.9
nginx/1.11.10
PHP 7.1.15 (fpm-fcgi)
Python 2.6.6

…fixed with commit c699e000835 .

Thanks,
++umgfoin.

core kc-git-master 8.6.80.189
webapp git-master 3.4.9.116-g3bb3c1d
z-push 2.4.1beta0+0
CentOS 6.9
nginx/1.11.10
PHP 7.1.15 (fpm-fcgi)
Python 2.6.6

Looks like your connection to Kopano Community Forum was lost, please wait while we try to reconnect.