Disabling the reuse timeout (-T 0) results in crashes
ellie timoney
ellie at fastmail.com
Sun Feb 21 19:49:21 EST 2016
Hi again,
This is now fixed in the master, cyrus-imapd-2.5 and cyrus-imapd-2.4
branches on git and will be included in future releases from these
branches.
Cheers,
ellie
On Fri, Feb 19, 2016, at 11:08 AM, ellie timoney via Cyrus-devel wrote:
> Hi Jens,
>
> Thanks for the patch. This has also been reported as T227 by Ian
> Batten: https://git.cyrus.foundation/T227
>
> I'll get this fixed in git soon.
>
> ellie
>
> On Thu, Feb 18, 2016, at 11:13 PM, Jens Erat via Cyrus-devel wrote:
> > Dear Cyrus developers,
> >
> > `man imapd` explains `-T 0` should disable the reuse timeout:
> >
> > > −T timeout
> > >
> > > The number of seconds that the process will wait for a new connection before shutting down. Note that a value of 0 (zero) will disable the timeout. The default is 60.
> >
> > But doing so results in crashes immediately after the first connection
> > with an arithmetic exception. Digging deeper, the issue is rather
> > obvious:
> >
> > reuse_timeout = reuse_timeout + (rand() % reuse_timeout);
> >
> > This should not be executed for `reuse_timeout == 0`. I attached a small
> > patch resolving the issue. `reuse_timeout = 0` results in disabled
> > alarms, probably this border case was overlooked when the random timeout
> > skew was added.
> >
> > The patch is developed against Cyrus IMAP 2.5.7.
> >
> > Regards from Lake Constance, Germany,
> > Jens Erat
> >
> > --
> > Jens Erat
> > Universität Konstanz
> > Kommunikations-, Infomations-, Medienzentrum (KIM)
> > Abteilung Basisdienste
> > D-78457 Konstanz
> > Mail: jens.erat at uni-konstanz.de
> > Email had 2 attachments:
> > + cyrus-imapd-2.5.7-master-timeout.patch
> > 1k (text/x-patch)
> > + signature.asc
> > 1k (application/pgp-signature)
More information about the Cyrus-devel
mailing list