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

Publicado por Fabio Soares Schmidt em 15/07/2011

[ Hits: 5.120 ]

 


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


Outras dicas deste autor

Cyrus IMAP: "Message contains bare newlines" (Erro ao importar mensagens)

Separando os logs do AMaViS no Debian

Zimbra - Copiando base de SPAM/HAM para outro servidor

Dovecot - Mover Spam automaticamente para a pasta desejada

Expresso Livre - Anexos e mensagens exportadas com 0 KB [Resolvido]

Leitura recomendada

SpamAssassin - Melhorando a eficácia do seu anti-spam

Zimbra - Copiando base de SPAM/HAM para outro servidor

Migrando contatos e e-mails do Google Apps para servidor Zimbra

Cliente de e-mail: você ainda usa?

Rejeitando extensões maliciosas com Postfix

  

Comentários

Nenhum comentário foi encontrado.



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts