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

Publicado por Fabio Soares Schmidt em 15/07/2011

[ Hits: 4.913 ]

 


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

Forçando o cache do Windowsupdate com Squid

Forçando cache do Windows Update com Squid (Atualizado)

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

suspicious cache-id, must contain _cv_ to be cached ao compilar o rdesktop

Utilizando o AMaViS para inserir Disclaimer

Leitura recomendada

Redirecionando emails

Zimbra: Aumentando entregas simultâneas de mensagens

Problema com Evolution (evolution:1725)

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

Problemas ao abrir anexos do tipo 'winmail.dat' no Evolution (MS Outlook)

  

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