segfault after upgrade

Steffen Vinther Sørensen svinther at gmail.com
Wed Nov 5 08:54:21 EST 2008


On Mon, Nov 3, 2008 at 11:46 PM, Alain Spineux <aspineux at gmail.com> wrote:
> On Mon, Nov 3, 2008 at 11:10 PM, Steffen Vinther Sørensen
> <svinther at gmail.com> wrote:
>> On Mon, Nov 3, 2008 at 10:00 PM, Andreas Winkelmann <ml at awinkelmann.de> wrote:
>>> Am Montag 03 November 2008 21:45:30 schrieb Steffen Vinther Sørensen:
>>>
>>>> I recently updated a CentOS 4 installation using the CentOS package
>>>> manager "yum". the cyrus imapd and the dbd packages was upgraded along
>>>> with several other packages. After that there seems to be an issue
>>>> with the Cyrus imapd "shared" mailboxes (the ones where users needs to
>>>> subscribe in order to use)
>>>>
>>>> I already tried rebuilding mailboxes.db, by dumping it as text and
>>>> restoring it, but with no luck. Any further advice would be very
>>>> welcome:
>>>>
>>>> Here is all the info I can think of:
>>>>
>>>> cyradm version request:
>>>> mail.somecompany.dk> version
>>>> name       : Cyrus IMAPD
>>>> version    : v2.2.12-Invoca-RPM-2.2.12-9.RHEL4 2005/02/14 16:43:51
>>>> vendor     : Project Cyrus
>>>> support-url: http://asg.web.cmu.edu/cyrus
>>>> os         : Linux
>>>> os-version : 2.6.9-78.0.5.ELsmp
>>>> environment: Built w/Cyrus SASL 2.1.19
>>>>              Running w/Cyrus SASL 2.1.19
>>>>              Built w/Sleepycat Software: Berkeley DB 4.2.52: (July 14,
>>>> 2007) Running w/Sleepycat Software: Berkeley DB 4.2.52: (July 14, 2007)
>>>> Built w/OpenSSL 0.9.7a Feb 19 2003
>>>>              Running w/OpenSSL 0.9.7a Feb 19 2003
>>>>              CMU Sieve 2.2
>>>>              TCP Wrappers
>>>>              mmap = shared
>>>>              lock = fcntl
>>>>              nonblock = fcntl
>>>>              auth = unix
>>>>              idle = poll
>>>>
>>>>
>>>> /var/log/messages gets this every time a user tries to connect:
>>>> mail kernel: imapd[13804]: segfault at 0000000000000000 rip
>>>> 00000030d36705f2 rsp 0000007fbfffcc88 error 4
>>>>
>>>> /var/log/maillog
>>>> Nov  3 21:34:05 mail imap[14118]: accepted connection
>>>> Nov  3 21:34:05 mail master[14144]: about to exec
>>>> /usr/lib64/cyrus-imapd/imapd Nov  3 21:34:05 mail imap[14144]: executed
>>>> Nov  3 21:34:05 mail imap[14118]: login: svs.somecompany.dk
>>>> [192.168.1.20] svs plaintext User logged in
>>>> Nov  3 21:34:05 mail master[31849]: process 14118 exited, signaled to
>>>> death by 11
>>>> Nov  3 21:34:05 mail master[31849]: service imap pid 14118 in BUSY
>>>> state: terminated abnormally
>>>>
>>>> strace for imapd process having the segfault, using strace -ff -p
>>>> <pid> on the cyrus-master pid:
>>>
>>> ...
>>>
>>>> open("/var/spool/imap/user/ecivrese-fejl/cyrus.header", O_RDWR) = 14
>>>> fstat(14, {st_mode=S_IFREG|0600, st_size=182, ...}) = 0
>>>> mmap(NULL, 182, PROT_READ, MAP_SHARED, 14, 0) = 0x2a97f59000
>>>> --- SIGSEGV (Segmentation fault) @ 0 (0) ---
>>>
>>> Did you run a reconstruct on this Mailbox (ecivrese-fejl)?
>>>
>>> --
>>> Andreas
>>> ----
>>> 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
>>>
>>
>> yes, I already tried "reconstruct user.ecivrese-fejl" and then
>> restarted cyrus, but with no positive result
>
> You can try to debug the process using GDB.
>
> look at the end of http://www.irbs.net/internet/info-cyrus/0709/0180.html
> to know how to do that.
>
>
>> ----
>> 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
>>
>
>
>
> --
> Alain Spineux
> aspineux gmail com
> May the sources be with you
>

It turns out that the problem was somehow related to user/group rights.

When I create a user, we let the user access our "shared inboxes" by
having the user be member of a group

cm user.[userid]
sam user.[userid] group:sharedmail lrswipcda

For this to work out the sharedmail group must also be a unix group,
and each user must be a unix member of the group by modifying
/etc/group . Until the recent system upgrade, there seemed to be no
need for the users to have a unix account, but after the upgrade Cyrus
would segfault when trying to access a shared mailbox, until I created
unix accounts for all the mail users

Now the procedure for creating a new mail user with shared mailbox access is:

cm user.[userid]
sam user.[userid] group:sharedmail lrswipcda
useradd -M userid
usermod -aG sharedmail userid

in /etc/imapd.conf i have
sasl_pwcheck_method: auxprop


Any comments are welcome :-)


More information about the Info-cyrus mailing list