zmlogswatchctl fail after OS update

Ask questions about your setup or get help installing ZCS server (ZD section below).
Post Reply
GlooM
Advanced member
Advanced member
Posts: 127
Joined: Sat Sep 13, 2014 12:50 am

zmlogswatchctl fail after OS update

Post by GlooM »

Hello!

Release 8.8.15.GA.3869.UBUNTU16.64 UBUNTU16_64 FOSS edition, Patch 8.8.15_P18.

There is a problem with updating the OS version.

Now I use Ubuntu 16. I read this article: https://wiki.zimbra.com/wiki/Ubuntu_Upgrades, and according to it, I updated Ubuntu 16 to 18.

Everything went according to plan, but at the start of Zimbra, it did not start zmlogswatchctl service. I tried to fix the permissions, but it didn't help. I found that the /opt/zimbra/log/zmlogswatch.out contains an error "RRDs.c: loadable library and perl binaries are mismatched (got handshake key 0xdb00080, needed 0xde00080)".

Probably because of this error, it does not start zmlogswatchctl?

At the moment, I have rolled back to the previous version of the OS.
Please tell me how to fix this error.
User avatar
JDunphy
Outstanding Member
Outstanding Member
Posts: 889
Joined: Fri Sep 12, 2014 11:18 pm
Location: Victoria, BC
ZCS/ZD Version: 9.0.0_P39 NETWORK Edition

Re: zmlogswatchctl fail after OS update

Post by JDunphy »

GlooM wrote: I found that the /opt/zimbra/log/zmlogswatch.out contains an error "RRDs.c: loadable library and perl binaries are mismatched (got handshake key 0xdb00080, needed 0xde00080)".
Wild guess.

That message generally means A dynamic library .so was being loaded into the process that was built against a different build of perl than the said library was compiled against. Reinstalling the XS module will likely fix this error.
You could try this first to see if this is the correct module.

Code: Select all

% su - zimbra
%  perl -MRRDs -le 'print q(ok!)'
ok!
If the above fails, proceed to re-install rrdtool-perl or whatever it is called for your distribution that contains the appropriate RRDs.so

Code: Select all

# su - zimbra
% cd /opt/zimbra/common/lib/perl5/
% find . -name \*RRD\* -print
./x86_64-linux-thread-multi/RRDs.pm
./x86_64-linux-thread-multi/auto/RRDs
./x86_64-linux-thread-multi/auto/RRDs/RRDs.bs
./x86_64-linux-thread-multi/auto/RRDs/RRDs.so
./x86_64-linux-thread-multi/auto/RRDp
./RRDp.pm
Re-installing RRDs.so may resolve this which can be done via cpan or other method depending on distribution. Guessing that it might be as simple as this link https://zoomadmin.com/HowToInstall/Ubun ... brrds-perl

Seems odd that this bug would not have been reported with solutions provided in these forums somewhere. I don't run ubuntu on my servers so am of limited help here. Your other option is to find the version being shipped with zimbra and swap out the RRDS stuff manually once you find the correct combination that works with the perl shipped. Either they forgot to update that module in their repository or you forgot to update the modules would be my initial focus in starting to debug root cause for this failure.

HTH,

Jim
User avatar
scantec
Advanced member
Advanced member
Posts: 75
Joined: Mon May 05, 2014 11:55 am

Re: zmlogswatchctl fail after OS update

Post by scantec »

Hello,

Had the same kind of issue after updating from ubuntu 14 to 16 and Zimbra.

Feb 25 12:08:51 mail kernel: [ 1556.590025] zmrrdfetch[21338]: segfault at 5 ip 00007fc5c465783e sp 00007ffe0384ed50 error 4 in RRDs.so[7fc5c4653000+6000]

To fix it, I did another upgrade (after ./install -s run ./install.sh) and the issue is gone. I'm sure I've done other upgrades like this away before with install -s and followed by upgrade (install.sh) with no issues. This time I just followed that zimbra doc that just says to run install.sh -s like you probably did and got the problem too.
GlooM
Advanced member
Advanced member
Posts: 127
Joined: Sat Sep 13, 2014 12:50 am

Re: zmlogswatchctl fail after OS update

Post by GlooM »

JDunphy and scantec thanks for the help!

I solved the problem!

The instructions contained an incorrect installation sequence.

According to the instructions, it was necessary to perform:

1) Update packets on old OS (Ubuntu 16)
2) Upgrade OS (Ubuntu 16 -> Ubuntu 18)
3) Install Zimbra (./install.sh -s --skip-activation-check)
4) Copy "install_history" and "localconfig.xml" files from the backup
5) Run "zmsetup.pl"

There is a mistake here.

Correct sequence of actions:

1) Update packets on old OS (Ubuntu 16)
2) Upgrade OS (Ubuntu 16 -> Ubuntu 18)
3) Install Zimbra (./install.sh -s --skip-activation-check)
4) Update packages in OS after installing Zimbra (apt update; apt upgrade)
5) Copy "install_history" and "localconfig.xml" files from the backup
6) Run "zmsetup.pl"

After installing Zimbra (./install.sh -s --skip-activation-check), 106 new packages are being updated from the repositories!

Code: Select all

root@mail:~/zcs-8.8.15_GA_3869.UBUNTU18_64.20190918004220# apt update
Сущ:1 http://ru.archive.ubuntu.com/ubuntu bionic InRelease
Сущ:2 http://ru.archive.ubuntu.com/ubuntu bionic-updates InRelease
Сущ:3 http://ru.archive.ubuntu.com/ubuntu bionic-backports InRelease
Сущ:4 https://repo.zimbra.com/apt/87 bionic InRelease
Сущ:5 https://repo.zimbra.com/apt/8815 bionic InRelease
Сущ:6 http://security.ubuntu.com/ubuntu bionic-security InRelease
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Может быть обновлено 106 пакетов. Запустите «apt list --upgradable» для их показа.
root@mail:~/zcs-8.8.15_GA_3869.UBUNTU18_64.20190918004220# apt upgrade
Чтение списков пакетов… Готово
Построение дерева зависимостей
Чтение информации о состоянии… Готово
Расчёт обновлений… Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
  libcurses-perl libcurses-ui-perl libterm-readkey-perl
Для их удаления используйте «apt autoremove».
Следующие НОВЫЕ пакеты будут установлены:
  libgraphite2-3 libharfbuzz0b
Следующие пакеты будут обновлены:
  zimbra-altermime zimbra-amavis-logwatch zimbra-amavisd zimbra-apache-base zimbra-apr-lib zimbra-apr-util-lib zimbra-aspell-ar zimbra-aspell-da zimbra-aspell-de zimbra-aspell-en zimbra-aspell-es zimbra-aspell-fr zimbra-aspell-hi
  zimbra-aspell-hu zimbra-aspell-it zimbra-aspell-nl zimbra-aspell-pl zimbra-aspell-pt-br zimbra-aspell-ru zimbra-aspell-sv zimbra-aspell-zimbra zimbra-base zimbra-bdb-lib zimbra-clamav-db zimbra-curl zimbra-curl-lib zimbra-cyrus-sasl
  zimbra-cyrus-sasl-lib zimbra-dnscache-base zimbra-freetype-lib zimbra-heimdal-lib zimbra-ldap-base zimbra-libart-lib zimbra-libbsd-lib zimbra-libltdl-lib zimbra-libpng-lib zimbra-libsodium-lib zimbra-libxml2-lib zimbra-lmdb
  zimbra-lmdb-lib zimbra-mta-base zimbra-net-snmp zimbra-net-snmp-lib zimbra-opendkim zimbra-opendkim-lib zimbra-openjdk-cacerts zimbra-openldap-client zimbra-openldap-lib zimbra-openldap-server zimbra-osl zimbra-perl-base
  zimbra-perl-canary-stability zimbra-perl-carp-clan zimbra-perl-class-inspector zimbra-perl-convert-asn1 zimbra-perl-convert-binhex zimbra-perl-convert-tnef zimbra-perl-crypt-saltedhash zimbra-perl-date-manip
  zimbra-perl-email-date-format zimbra-perl-encode-locale zimbra-perl-error zimbra-perl-exporter-tiny zimbra-perl-file-grep zimbra-perl-file-listing zimbra-perl-file-tail zimbra-perl-geography-countries zimbra-perl-http-date
  zimbra-perl-io-html zimbra-perl-io-sessiondata zimbra-perl-io-stringy zimbra-perl-ip-country zimbra-perl-json-pp zimbra-perl-lwp-mediatypes zimbra-perl-mailtools zimbra-perl-math-bigint zimbra-perl-mime-lite zimbra-perl-mime-tools
  zimbra-perl-mime-types zimbra-perl-mozilla-ca zimbra-perl-net-cidr zimbra-perl-net-cidr-lite zimbra-perl-net-server zimbra-perl-parent zimbra-perl-task-weaken zimbra-perl-timedate zimbra-perl-uri zimbra-perl-www-robotrules
  zimbra-perl-xml-namespacesupport zimbra-perl-xml-parser-lite zimbra-perl-xml-sax zimbra-perl-xml-sax-base zimbra-perl-zmq-constants zimbra-postfix zimbra-postfix-logwatch zimbra-proxy-base zimbra-rrdtool zimbra-rrdtool-lib
  zimbra-rsync zimbra-snmp-base zimbra-spell-base zimbra-store-base zimbra-tcmalloc-lib zimbra-unbound zimbra-unbound-lib zimbra-zeromq-lib
After updating these 106 packages, all services start successfully! Pearl is installing the correct version!
dilipsingh556
Posts: 5
Joined: Wed Jul 27, 2016 4:25 am
Contact:

Re: zmlogswatchctl fail after OS update

Post by dilipsingh556 »

I have rsynced the perl5 directory from the fresh install package of zimbra to directory /opt/zimbra/common/lib/perl5. Then it works.
Post Reply