From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.general/64653 Path: news.gmane.org!not-for-mail From: James Cloos Newsgroups: gmane.emacs.gnus.general Subject: nnimap vs dbmail Date: Thu, 17 May 2007 07:33:51 -0400 Message-ID: NNTP-Posting-Host: lo.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii X-Trace: sea.gmane.org 1179401808 7230 80.91.229.12 (17 May 2007 11:36:48 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Thu, 17 May 2007 11:36:48 +0000 (UTC) To: ding@gnus.org Original-X-From: ding-owner+M13164@lists.math.uh.edu Thu May 17 13:36:46 2007 Return-path: Envelope-to: ding-account@gmane.org Original-Received: from util0.math.uh.edu ([129.7.128.18]) by lo.gmane.org with esmtp (Exim 4.50) id 1HoeHm-0000PP-9I for ding-account@gmane.org; Thu, 17 May 2007 13:36:46 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.math.uh.edu) by util0.math.uh.edu with smtp (Exim 4.63) (envelope-from ) id 1HoeGM-0002vQ-Od; Thu, 17 May 2007 06:35:18 -0500 Original-Received: from mx2.math.uh.edu ([129.7.128.33]) by util0.math.uh.edu with esmtps (TLSv1:AES256-SHA:256) (Exim 4.63) (envelope-from ) id 1HoeGK-0002v9-90 for ding@lists.math.uh.edu; Thu, 17 May 2007 06:35:16 -0500 Original-Received: from quimby.gnus.org ([80.91.231.51]) by mx2.math.uh.edu with esmtp (Exim 4.67) (envelope-from ) id 1HoeGI-0007za-TL for ding@lists.math.uh.edu; Thu, 17 May 2007 06:35:16 -0500 Original-Received: from eagle.jhcloos.com ([207.210.242.212]) by quimby.gnus.org with esmtp (Exim 3.35 #1 (Debian)) id 1HoeGH-0004d5-00 for ; Thu, 17 May 2007 13:35:13 +0200 Original-Received: by eagle.jhcloos.com (Postfix, from userid 10) id 854CB4013C; Thu, 17 May 2007 11:34:49 +0000 (UTC) DKIM-Signature: v=0.5; a=rsa-sha256; c=relaxed/relaxed; d=jhcloos.com; s=eagle; t=1179401694; bh=asfC4Dx4PCU846n/+/TICK2qjzZNLrIUJLdA8qQhg 4s=; h=Received:From:To:Subject:User-Agent:Face:Copyright:OpenPGP: OpenPGP-Fingerprint:X-Hashcash:Date:Message-ID:Lines:MIME-Version: Content-Type; b=yh90wZRo1PD/uwj08HSXNhspz3IbN9ngKIJG+rxct5JAYP4iLn ZKMWLRloRVcxitDr5r3XXBzpzV7OgiYDWDpTzyjoJswjRorp5m8lsU0wqc4HLd5mody tJ2k6lGxOpM5Ea6078iuGdQ1v8OpC0a+uDHLOvSZg0H5DmwGsERzHg= Original-Received: by lugabout.jhcloos.org (Postfix, from userid 500) id 88F4D160B98; Thu, 17 May 2007 11:34:14 +0000 (UTC) User-Agent: Gnus/5.110007 (No Gnus v0.7) Emacs/23.0.0 (gnu/linux) Face: iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAMnRFWHRUaXRsZQAvbWF4dG9y L2Nsb29zL2luY29taW5nLzIwMDQvMDIvUFdHL0pIQzE2LnBuZyJMlEwAAAAadEVYdFNvZnR3YXJl AEdOT01FIEljb24gRWRpdG9ynioKbAAAAHFJREFUeJzFk8EKwCAMQ1/ED9cvzw6iuM0N9WIvDTWE 1KjAxmKnLBEBjLcEIBCeI2nccy5YKrjxwbbvAvZ37zlo4GB9iRMC/cq/AppItwmMyJ5I98wd9G7P xxgrSKlYS2lMrOcV13o95aVSKA7E5ndGXG+IIzcl4BNfAAAAAElFTkSuQmCC Copyright: Copyright 2007 James Cloos OpenPGP: ED7DAEA6; url=http://jhcloos.com/public_key/0xED7DAEA6.asc OpenPGP-Fingerprint: E9E9 F828 61A4 6EA9 0F2B 63E7 997A 9F17 ED7D AEA6 X-Hashcash: 1:23:070517:ding@gnus.org::h1cKVCRDtPucodGI:00001mcX Original-Lines: 103 X-Spam-Score: -2.6 (--) List-ID: Precedence: bulk Xref: news.gmane.org gmane.emacs.gnus.general:64653 Archived-At: I'm looking into converting over to using imap as the backstore for my mail and am looking at using dbmail for that. I'm seeing some buglets in nnimap. As an example, the unread article counts in the Group buffer are almost always incorrect. And errors often get printed to the minibuffer. One issue is that dbmail gives each article a server-unique UID rather than a just user-unique or folder-unique. So they are never contiguous. nnimap seems to expect contiguous UIDs and goes searching for them, causing IMAP errors. As an example, I recorded this imap exchange today via tshark: ,----< 149 SELECT "ROOT" > | * 4 EXISTS | * 0 RECENT | * FLAGS (\Seen \Answered \Deleted \Flagged \Draft) | * OK [PERMANENTFLAGS (\Seen \Answered \Deleted \Flagged \Draft)] | * OK [UIDNEXT 3669] Predicted next UID | * OK [UIDVALIDITY 13] UID value | 149 OK [READ-WRITE] SELECT completed `---- OK so far. ,----< 150 UID SEARCH UNSEEN UNDELETED > | * SEARCH | 150 OK SEARCH completed `---- None unseen and none undeleted. ,----< 151 UID SEARCH SEEN > | * SEARCH 3662 3664 3666 3668 | 151 OK SEARCH completed `---- 4 seen articles, with UIDs 3662, 3664, 3666 and 3668. ,----< 152 UID SEARCH FLAGGED > | * SEARCH | 152 OK SEARCH completed `---- None flagged. ,----< 153 UID SEARCH ANSWERED > | * SEARCH | 153 OK SEARCH completed `---- None answered. ,----< 154 UID SEARCH RECENT > | * SEARCH | 154 OK SEARCH completed `---- None recent. ,----< 155 UID FETCH 3665,3667 (UID RFC822.SIZE BODY BODY.PEEK[HEADER.FIELDS (Subject From Date Message-Id References In-Reply-To Xref To Newsgroups)]) > | 155 BAD invalid message range specified `---- So why fetch 3665 and 3667 if they were not listed in any of the UID searches? ,----< 156 UID FETCH 3665,3667 (UID RFC822.SIZE BODY BODY.PEEK[HEADER.FIELDS (Subject From Date Message-Id References In-Reply-To Xref To Newsgroups)]) > | 156 BAD invalid message range specified `---- Twice, even. ,----< 157 UID STORE 3665,3667 +FLAGS (\Seen) > | 157 BAD invalid message range specified `---- And dbmail doesn't like storing flags for non-extant UIDs. ,----< 158 STATUS "ROOT" (UNSEEN) > | * STATUS "ROOT" (UNSEEN 0) | 158 OK STATUS completed `---- ,----< 159 UNSELECT > | 159 OK UNSELECT completed `---- This time the errors did not prevent me from seeing new mail, but that isn't always the case. Some new mail is inaccessible in gnus because of such errors. A test shows that one of those errors is probably due to this line in list/imap.el: ,----[ from gnus/lisp/imap.el (imap-parse-body) ] | (assert (eq (char-after) ?\)) nil "In imap-parse-body") `---- Are those (assert)s necessary? They effectively lose mail. -JimC -- James Cloos OpenPGP: 1024D/ED7DAEA6