>> Since I upgraded to 2.3.13 (Invoca RPM rev 4) I've been running into a >> mysterious replication bug. In some circumstances, creating a user with >> a >> three >> letter long username causes the sync master process to choke, on either >> signal >> 11 or 6. Like this: > > Interestingly, we just encountered this as well after a new rebuild from > CVS. > > I got a stack back trace, which showed realloc() was choking. I looked at > the code around there, and couldn't see anything obviously wrong. Bron > looked at it and saw the problem in 10 seconds. I think I've been out of > practice with C programming for too long :) > > The bug occured in this commit where Ken changed a glob() call to a custom > readdir() loop. > > http://github.com/brong/cyrus-imapd/commit/56d0823d3192ea13fa3afe397d625252b16252b9 > > There's a missing sizeof() in there meaning that if you have > 25 quotas > in > a dir (or > 12 on a 64-bit build), you'll have memory corruption occuring. > > Here's the patch to fix: > > http://github.com/brong/cyrus-imapd/commit/1de9d758aeb360714236388c4e1689db0522c21e Maybe it's just the lack of caffeine in the early morning, but, isn't there a way to simply _download_ a single diff from github.com? Thanks for any insights. Simon ---- 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