Pular para o conteúdo

Cyrus Imap: Fatal error: Internal error: assertion failed: seen_db.c: 127: *seendbptr == NULL

Dica publicada em Linux / Correio Eletrônico
Fabio Soares Schmidt fs.schmidt
Hits: 5.578 Categoria: Linux Subcategoria: Correio Eletrônico
  • Indicar
  • Impressora
  • Denunciar

Cyrus Imap: Fatal error: Internal error: assertion failed: seen_db.c: 127: *seendbptr == NULL

Essa dica é para quem necessita compilar o Cyrus Imap 2.4.8 com suporte a replicação direto dos fontes, porém há um erro no código do sync_client que resulta no erro "Fatal error: Internal error: assertion failed: seen_db.c: 127:  *seendbptr == NULL" ao tentar efetuar a replicação com o sync_client, afetando dessa forma o sincronismo dos arquivos .seen e scripts sieve.

É necessário aplicar um patch no arquivo imap/sync_client.c, esse é o conteúdo:

From 5de9eee60d947243a4b4b2f4eccc63cff2771b30 Mon Sep 17 00:00:00 2001
From: Bron Gondwana <brong@opera.com>
Date: Thu, 31 Mar 2011 05:03:10 +0000
Subject: seen: fix seen_db related crash

---
--- a/imap/sync_client.c
+++ b/imap/sync_client.c
@@ -1423,7 +1423,7 @@ static int update_seen_work(const char *
static int do_seen(char *user, char *uniqueid)
{
     int r = 0;
-    struct seen *seendb;
+    struct seen *seendb = NULL;
     struct seendata sd;

     if (verbose)
@@ -1437,12 +1437,8 @@ static int do_seen(char *user, char *uni
     if (r) return 0;

     r = seen_read(seendb, uniqueid, &sd);
-    if (r) {
-       seen_close(&seendb);
-       return 0;
-    }

-    r = update_seen_work(user, uniqueid, &sd);
+    if (!r) r = update_seen_work(user, uniqueid, &sd);

     seen_close(&seendb);
     seen_freedata(&sd);
@@ -1876,7 +1872,7 @@ static int do_user_seen(char *user, stru
{
     int r;
     struct sync_seen *mseen, *rseen;
-    struct seen *seendb;
+    struct seen *seendb = NULL;
     struct sync_seen_list *list;

     /* silently ignore errors */

Copie o conteúdo acima, salve o arquivo no diretório raiz dos fontes e mande aplicar o patch:

# patch -p1 < arquivo.patch

Feito isso, compile o Cyrus normalmente.

Link informando sobre o problema: www.mail-archive.com/debian-bugs-dist@lists.debian.org/msg904344.html

Fabio Soares Schmidt
respirandolinux.wordpress.com


Configurando o AMaViS em servidor dedicado

Zimbra: Aplicando patch de segurança para vulnerabilidade de CCS Injection (CVE-2014-0224)

Controlar tamanho máximo do download com squid: reply_body_max_size

Zimbra: Melhorando eficácia do seu anti-Spam

Failed to auto-start Oracle Net Listener using /ade/vikrkuma_new/oracle/bin/tnslsnr

Restringindo um domínio no Zimbra 5.0 a enviar e-mail externo

Corretor ortográfico em português no Thunderbird

Fixando assinatura no Evolution Mail

Comandos avançados do PINE

Teste de autenticação em servidor IMAP

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.