cvt_cyrusdb utility does not work if /var/lib/cyrus/db is inconsistent

Florian Pflug fgp at phlo.org
Thu Aug 18 15:54:41 EDT 2011


On Aug17, 2011, at 20:25 , Greg Banks wrote:
> On 18/08/11 07:26, Greg Banks wrote:
>> 
>> On 18/08/2011, at 3:09, Michael Loftis <mloftis at wgops.com> wrote:
>> 
>> Sure, but Dmitry does have a point that the error message appearing only in syslog is an unexpected behaviour for a commandline utility.
>> 
>> This is a widespread issue in Cyrus, where lots of common code was clearly designed to live in a server, and it has made adding unit tests that little bit more challenging. For example the unit test framework now intercepts calls to the exit() libc routine and turns that into a longjmp() out to the test failure code. It also intercepts syslog() and pattern matches the message so that tests can pass or fail depending on the occurrence or not of log messages.
>> 
>> There's also the opposite problem of error handling code which calls both syslog and fprintf(stderr), one after the other. That's just silly, especially given that many modern syslog implementations have a LOG_STDERR flag that will copy all syslog messages to stderr also.
> 
> Incidentally, there is a bugzilla for this
> 
> https://bugzilla.cyrusimap.org/show_bug.cgi?id=2924
> 
> with a very old patch from Florian Pflug.
> 
> Dmitry, if you're able to contribute perhaps you could update that patch for the 2.4 and master branches, and also remove some of the duplicated syslog+stderr logging calls?  I'm sure it would be much appreciated.

Here's an updated version of that patch rebased onto 2.4. I'm using this on a production machine and haven't had problems so far, so I'm reasonably confident that it works as designed.

I've also attach this to the bugzilla entry.

best regards,
Florian Pflug

-------------- next part --------------
A non-text attachment was scrubbed...
Name: syslog_to_stderr.patch
Type: application/octet-stream
Size: 3187 bytes
Desc: not available
Url : http://lists.andrew.cmu.edu/pipermail/cyrus-devel/attachments/20110818/bdef1125/attachment.obj 


More information about the Cyrus-devel mailing list