SEGFAULT in reconstruct (2.5.5)

ellie timoney ellie at fastmail.com
Sun Aug 23 20:50:51 EDT 2015


Hi Marty,

> When using ‘reconstruct’ to upgrade the database formats from
> 2.4.17-caldav-b10 -> 2.5.5,
> ‘reconstruct' core dumps (Solaris 10, Sun Studio C Compiler).
> 
> Looking at the code, it seems that if there is an error with
> ‘mailbox_reconstruct’
> and the error isn’t IMAP_IOERROR, a ‘NULL’ is sent to com_err as the
> string arg.
> I’ve updated the ‘NULL’ to a more meaningful (if possibly unhelpful)
> message, and this
> then manages to at least get through all of the mailboxes now, rather
> than just a
> partial update.
> 
> Patch:

Thanks for the patch, this is now in git and will be in the next
release.  FYI I had trouble applying the patch you sent, not sure why
though -- I didn't spend a lot of time investigating since it was
quicker to just do the one-line change manually.

I think that crash wouldn't have occurred on glibc systems (which treat
NULL as "(null)" when substituting %s in a format string) but I guess
Solaris doesn't do this.  Nice to have an error string in there instead
though. :)

Cheers,

ellie


More information about the Cyrus-devel mailing list