Re: How to repair a broken seen state file

2008-07-08 Thread Gary Mills
On Mon, Jul 07, 2008 at 03:37:56PM +0200, Konrad Mauz wrote:
 On Mon, Jul 07, 2008 at 08:31:59AM -0500, Gary Mills wrote:
  I'm seeing errors like this regularly in our messages log:
  
Jul  4 11:43:37 castor imap[16398]: [ID 514311 local6.error] DBERROR: 
  skiplist recovery: 058C should be INORDER
Jul  4 11:43:37 castor imap[16398]: [ID 729713 local6.error] DBERROR: 
  opening /imap/conf/user/O/inqarts.seen: cyrusdb error
  
  It's always for this one file.  All the others are fine.  It's a
  skiplist database.  The ownership is correct.  A reconstruct on the
  mailbox has no effect on the file.  Can I just remove the file, with
  no ill effects?  Can I fix it somehow?  We're running cyrus-imapd-2.3.8.
 
 perheps the skiplist.py tool from
 
 http://oss.netfarm.it/python-cyrus.php
 
 can help you to restore the corrupted seen file.

Yes, that worked!  skiplist.py extracted the data to a text file.
Then cvt_cyrusdb converted from flat to skiplist again.  There are
no more errors in the log.

-- 
-Gary Mills--Unix Support--U of M Academic Computing and Networking-

Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html


Re: How to repair a broken seen state file

2008-07-07 Thread Konrad Mauz
On Mon, Jul 07, 2008 at 08:31:59AM -0500, Gary Mills wrote:
 I'm seeing errors like this regularly in our messages log:
 
   Jul  4 11:43:37 castor imap[16398]: [ID 514311 local6.error] DBERROR: 
 skiplist recovery: 058C should be INORDER
   Jul  4 11:43:37 castor imap[16398]: [ID 729713 local6.error] DBERROR: 
 opening /imap/conf/user/O/inqarts.seen: cyrusdb error
 
 It's always for this one file.  All the others are fine.  It's a
 skiplist database.  The ownership is correct.  A reconstruct on the
 mailbox has no effect on the file.  Can I just remove the file, with
 no ill effects?  Can I fix it somehow?  We're running cyrus-imapd-2.3.8.
 
 -- 
 -Gary Mills--Unix Support--U of M Academic Computing and Networking-
 
 Cyrus Home Page: http://cyrusimap.web.cmu.edu/
 Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
 List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Hi Gary,

perheps the skiplist.py tool from

http://oss.netfarm.it/python-cyrus.php

can help you to restore the corrupted seen file.

Regards,

Konrad

-- 
Konrad Mauz 
Rechenzentrum
Hochschule Technik, Wirtschaft und Gestaltung
Braunegger-Strasse 55, D 78462 Konstanz 
e-mail: [EMAIL PROTECTED]
Tel.:   +49 7531 206-472
Fax.:   +49 7531 206-153

Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html


Re: How to repair a broken seen state file

2008-07-07 Thread Sebastian Hagedorn

--On 7. Juli 2008 08:31:59 -0500 Gary Mills [EMAIL PROTECTED] wrote:


I'm seeing errors like this regularly in our messages log:

  Jul  4 11:43:37 castor imap[16398]: [ID 514311 local6.error] DBERROR:
skiplist recovery: 058C should be INORDER   Jul  4 11:43:37 castor
imap[16398]: [ID 729713 local6.error] DBERROR: opening
/imap/conf/user/O/inqarts.seen: cyrusdb error

It's always for this one file.  All the others are fine.  It's a
skiplist database.  The ownership is correct.  A reconstruct on the
mailbox has no effect on the file.


That's to be expected.


 Can I just remove the file, with
no ill effects?


Yes, but of course all seen information is lost in that case.


 Can I fix it somehow?


Simon Matter has posted a script to the list:

http://lists.andrew.cmu.edu/pipermail/info-cyrus/2006-April/021522.html

I've never used it.
--
.:.Sebastian Hagedorn - RZKR-R1 (Gebäude 52), Zimmer 18.:.
Zentrum für angewandte Informatik - Universitätsweiter Service RRZK
.:.Universität zu Köln / Cologne University - ✆ +49-221-478-5587.:.
  .:.:.:.Skype: shagedorn.:.:.:.

pgpMgAyEhBAln.pgp
Description: PGP signature

Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html

Re: How to repair a broken seen state file

2008-07-07 Thread Wesley Craig
On 07 Jul 2008, at 09:31, Gary Mills wrote:
 I'm seeing errors like this regularly in our messages log:

   Jul  4 11:43:37 castor imap[16398]: [ID 514311 local6.error]  
 DBERROR: skiplist recovery: 058C should be INORDER
   Jul  4 11:43:37 castor imap[16398]: [ID 729713 local6.error]  
 DBERROR: opening /imap/conf/user/O/inqarts.seen: cyrusdb error

 Can I just remove the file, with no ill effects?

Removing it will cause all seen state to be lost, which is not a huge  
tragedy, but not exactly desirable.

 Can I fix it somehow?

058C is an offset in hex.  If you truncate the file at this point,  
you should be able to proceed.  Obviously, everything after that will  
be gone, but in my experience, these error typically occur at the end  
of skiplist files, so you probably won't lose much if anything.   
Also, this user's mail probably looks quite odd, e.g., all new mail  
is always unseen.  Anyway, something like:

dd if=/imap/conf/user/O/inqarts.seen of=/imap/conf/user/O/ 
inqarts.seen.fixed bs=1420 count=1
and
mv /imap/conf/user/O/inqarts.seen.fixed /imap/conf/user/O/inqarts.seen

Make sure /imap/conf/user/O/inqarts.seen is still permitted correctly.

 We're running cyrus-imapd-2.3.8.

I understand that later version of Cyrus have fixed many errors in  
the skiplist code...

:wes

Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html


Re: How to repair a broken seen state file

2008-07-07 Thread Gary Mills
On Mon, Jul 07, 2008 at 10:26:33AM -0400, Wesley Craig wrote:
 
 058C is an offset in hex.  If you truncate the file at this point,  
 you should be able to proceed.  Obviously, everything after that will  
 be gone, but in my experience, these error typically occur at the end  
 of skiplist files, so you probably won't lose much if anything.   
 Also, this user's mail probably looks quite odd, e.g., all new mail  
 is always unseen.  Anyway, something like:
 
   dd if=/imap/conf/user/O/inqarts.seen of=/imap/conf/user/O/ 
 inqarts.seen.fixed bs=1420 count=1
 and
   mv /imap/conf/user/O/inqarts.seen.fixed 
   /imap/conf/user/O/inqarts.seen
 
 Make sure /imap/conf/user/O/inqarts.seen is still permitted correctly.

I neglected to mention that I'd already tried that...

  # dd if=inqarts.seen of=inqarts.seen.new bs=1 count=1420
  1420+0 records in
  1420+0 records out
  # chmod 600 inqarts.seen.new
  # mv inqarts.seen inqarts.seen.old  mv inqarts.seen.new inqarts.seen
  # ll -t inqarts.*
  -rw---   1 cyrusmail1420 Mar 28 14:11 inqarts.seen
  -rw---   1 cyrusmail   10052 Mar 28 11:37 inqarts.seen.old
  -rw---   1 cyrusmail 320 Feb 21 10:53 inqarts.sub

It still logged the same error afterwards.  I guess I'll have to try
something more drastic now.

-- 
-Gary Mills--Unix Support--U of M Academic Computing and Networking-

Cyrus Home Page: http://cyrusimap.web.cmu.edu/
Cyrus Wiki/FAQ: http://cyrusimap.web.cmu.edu/twiki
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html