Solved : Zimbra CBPolicyD Segmentation fault

Posted by

Beberapa hari yang lalu, saya bersama rekan Excellent yang lain melakukan migrasi Zimbra Email Server dari Ubuntu 14.04 ke Ubuntu 20.04. Proses ini harus dilakukan mengingat Ubuntu 14.04 sudah tidak disupport lagi oleh Zimbra. Dengan tidak disupport lagi oleh Zimbra, imbasnya adalah tidak lagi menerima patch terbaru. Padahal, beberapa hari yang lalu ada bug zero-day yang harus segera dilakukan patch. Patch terakhir yang diterima untuk Zimbra 8.8.15 pada Ubuntu 14.04 adalah patch versi 28. Sedangkan bug yang ada, sudah dieskalasi oleh Zimbra dan tersedia pada patch 30.

# Kendala

Proses migrasi dari Ubuntu 14.04 ke Ubuntu 20.04 berjalan dengan lancar. Saya menggunakan rsync untuk migrasinya sesuai panduan dari Zimbra Wiki. Namun ada satu service yang tidak berjalan. Yaitu service CBPolicyD. Ketika dijalankan service-nya, muncul error “Segmentation fault” seperti berikut:

zimbra@mail:~$ zmcbpolicydctl start
Starting policyd.../opt/zimbra/bin/zmcbpolicydctl: line 63: 160270 Segmentation fault
(core dumped) /opt/zimbra/common/bin/cbpolicyd --config /opt/zimbra/conf/cbpolicyd.conf 2> /dev/null

Saya coba cek pada zimbra.log ataupun cbpolicyd.log, tidak ditemukan informasi kenapa error tersebut terjadi. Hingga pada akhirnya saya menemukan error ketika menjalankan perintah “dmesg”. Errornya seperti berikut:

[ 5557.440101] Code: 41 54 55 53 48 8b 1d c9 24 20 00 8b 3b e8 ca 6b fe ff 8b 3b 48 8b 28 e8 c0 6b fe ff 48 8b 50 68 8b 3b 48 8d 4a fc 48 89 48 68 <44> 8b 32 e8 aa 6b fe ff 8b 3b 4d 63 e6 49 c1 e4 03 4c 89 e6 48 03
[ 5767.217448] cbpolicyd[160270]: segfault at 5 ip 00007ffa3c3cab2e sp 00007ffcf99c3e40 error 4 in MoreUtils.so[7ffa3c3b0000+1d000]

Dari hasil perintah “dmesg”, didapatkan informasi error pada MoreUtils.so.

# Solusi
Setelah ditemukan errornya terdapat pada MoreUtils.so, solusi yang saya coba adalah sebagai berikut:

Instalasi liblist-moreutils-perl

apt install liblist-moreutils-perl

Backup file MoreUtils.so pada folder Zimbra

cd /opt/zimbra/common/lib/perl5/x86_64-linux-gnu-thread-multi/auto/List/MoreUtils
cp MoreUtils.so MoreUtils.so-backup

Salin file MoreUtils.so dari folder library OS

cp /usr/lib/x86_64-linux-gnu/perl5/5.30/auto/List/MoreUtils/MoreUtils.so MoreUtils.so

Test restart kembali service cbpolicyd dan Alhamdulillah servicenya running

su - zimbra -c 'zmcbpolicydctl start'

Silakan dicoba dan semoga bermanfaat 🙂

Note: Jika rekan-rekan membutuhkan professional services untuk melakukan migrasi, maintenance atau upgrade Zimbra Mail Server, silakan hubungi team Sales Excellent melalui tautan berikut: https://www.excellent.co.id/kontak/

Leave a Reply

Your email address will not be published.

This site uses Akismet to reduce spam. Learn how your comment data is processed.