Problem w/ 2.2.4 and unixhierarchysep: yes

Simon Matter simon.matter at ch.sauter-bc.com
Mon May 24 10:02:39 EDT 2004


>> Simon Matter wrote:
>>>>Simon Matter wrote:
>>>>
>>>>
>>>>>>On Sun, 23 May 2004, Simon Matter wrote:
>>>>>>
>>>>>>
>>>>>>
>>>>>>>I have just finished rebuilding my 2.2.4 rpms and I've got the same
>>>>>>>problem on my own server where I tested the build. I was able to
>>>>>>> access
>>>>>>>some folders but some others didn't work.
>>>>>>
>>>>>>Was there anything consistant about these folders (specifically, did
>>>>>>they
>>>>>>have quotas associated with them)?
>>>>>>
>>>>>>Sadly, the backtrace you provided doesn't appear to be valid (why
>>>>>> does
>>>>>>strcpy() call strcpy() and then call shut_down()?
>>>>>
>>>>>
>>>>>Hm, I think this one is correct. Sorry for the noise.
>>>>
>>>>Hmm, the backtrace doesn't seem to show anything obvious, but your
>>>>strace looks like is crashes right after a close().  I've been running
>>>>this code since I wrote it (January?) without any problems on my
>>>> RH9/XFS
>>>>  box.  I'm wondering if this is some weird filesystem issue.  What
>>>>filesystem(s) are you using?
>>>
>>>
>>> The backtrace is from RedHat 7.2 running ext3. Nothing special here.
>>> Switching back to 2.2.3 made it work again and I also don't see any
>>> corruption.
>>
>> Are the backtraces and straces consistent in their content?

Okay, while playing again I found the following:
- RedHat 7.2 on XFS  doesn't work too
- RedHat 9 on EXT3 works fine

I tested it by copying /var/spool/imap and /var/lib/imap to the RH9 box.
Is there anything in the changes since 2.2.3 which could break
compatibility  with older gcc like 2.9.x version, or glibc or whatever?
(cyrus-sasl is 2.2.18 on both).

I'm quite sure more people will be hit by this problem once they start to
upgrade to 2.2.4.

Simon

>
> Here is an ltrace in case this helps:
>
> [pid 30323] fwrite("", 1, 764, 0x081523d0)        = 764
> [pid 30323] memcpy(0x08150bb0, "", 60)            = 0x08150bb0
> [pid 30323] fwrite("", 1, 60, 0x08152260)         = 60
> [pid 30323] fwrite("", 1, 764, 0x081523d0)        = 764
> [pid 30323] memcpy(0x08150bb0, "", 60)            = 0x08150bb0
> [pid 30323] fwrite("", 1, 60, 0x08152260)         = 60
> [pid 30323] fwrite("", 1, 764, 0x081523d0)        = 764
> [pid 30323] rewind(0x08152260, 1, 764, 0x081523d0, 0) = 0
> [pid 30323] fread(0x08150bb0, 1, 76, 0x08152260)  = 76
> [pid 30323] rewind(0x08152260, 1, 764, 0x081523d0, 0) = 0
> [pid 30323] fwrite("W\002\002\244", 1, 76, 0x08152260) = 76
> [pid 30323] fflush(0x08152260)                    = 0
> [pid 30323] fflush(0x081523d0)                    = 0
> [pid 30323] ferror(0x08152260)                    = 0
> [pid 30323] ferror(0x081523d0)                    = 0
> [pid 30323] fileno(0x08152260)                    = 14
> [pid 30323] fsync(14, 1, 764, 0x081523d0, 0)      = 0
> [pid 30323] fileno(0x081523d0)                    = 15
> [pid 30323] fsync(15, 1, 764, 0x081523d0, 0)      = 0
> [pid 30323] strlen(0x0814fc60, 0x0811f301, 0xbfff9a98, 0x0808c8c2,
> 0x08152260) = 10
> [pid 30323] snprintf("/var/lib/imap", 4097, "%s", "/var/lib/imap") = 13
> [pid 30323] strchr("user.simix", '.')             = ".simix"
> [pid 30323] snprintf("/quota/s/user.simix", 4084, "%s%c/%s", "/quota/",
> 's', "user.simix") = 19
> [pid 30323] open("/var/lib/imap/quota/s/user.simix", 2, 00) = 16
> [pid 30323] fcntl(16, 7, 0xbfff8940, 0x080966c5, 0x40331e74) = 0
> [pid 30323] __fxstat(3, 16, 0xbfff8990)           = 0
> [pid 30323] __xstat(3, "/var/lib/imap/quota/s/user.simix", 0xbfff88e0) = 0
> [pid 30323] malloc(16)                            = 0x08150c00
> [pid 30323] malloc(12)                            = 0x0814fc70
> [pid 30323] strlen(0xbfff8a30, 0, 0xbfff8938, 0x0809faaf, 12) = 32
> [pid 30323] malloc(33)                            = 0x08150268
> [pid 30323] strcpy(0x08150268, "/var/lib/imap/quota/s/user.simix")
> 0x08150268
> [pid 30323] __fxstat(3, 16, 0xbfff88e0)           = 0
> [pid 30323] mmap(0, 12, 1, 1, 16)                 = 0x414e4000
> [pid 30323] realloc(0x0814fc50, 12)               = 0x0814fc50
> [pid 30323] memcpy(0x0814fc50, "463034\n1000\n", 12) = 0x0814fc50
> [pid 30323] memchr("463034\n1000\n\021", '\n', 12) = 0x0814fc56
> [pid 30323] memchr("1000\n\021", '\n', 5)         = 0x0814fc5b
> [pid 30323] strlen(0x0814fc50, 10, 5, 0xbfff898c, 0xbfff8984) = 11
> [pid 30323] munmap(0x414e4000, 12, 0xbfff8968, 0x08096b8e, 0x0814fc50) = 0
> [pid 30323] sscanf(0x0814fc50, 0x0811bcf2, 0x0812e96c, 0x0812e970,
> 0x08152260) = 2
> [pid 30323] strlen(0x0814fc60, 0xbfff9afc, 0, 0x0808ca81, 0x30333634) = 10
> [pid 30323] snprintf("463034 1000", 1023, "%lu %d", 463034, 1000) = 11
> [pid 30323] snprintf("/var/lib/imap", 4097, "%s", "/var/lib/imap") = 13
> [pid 30323] strchr("user.simix", '.')             = ".simix"
> [pid 30323] snprintf("/quota/s/user.simix", 4084, "%s%c/%s", "/quota/",
> 's', "user.simix") = 19
> [pid 30323] strcmp("/var/lib/imap/quota/s/user.simix",
> "/var/lib/imap/quota/s/user.simix") = 0
> [pid 30323] strlen(0xbfff7590, 0x08150268, 0xbfff7568, 0x0809fc2e,
> 0x0811f5f2) = 32
> [pid 30323] unlink("/var/lib/imap/quota/s/user.simix"...) = -1
> [pid 30323] open("/var/lib/imap/quota/s/user.simix"..., 578, 0666) = 17
> [pid 30323] fcntl(17, 7, 0xbfff7540, 0x0809683e, 1) = 0
> [pid 30323] malloc(12)                            = 0x08150c18
> [pid 30323] memcpy(0x08150c18, "463034 1000", 11) = 0x08150c18
> [pid 30323] memchr("463034 100078", ' ', 11)      = 0x08150c1e
> [pid 30323] write(17, "463034\n1000\n", 12)       = 12
> [pid 30323] free(0x08150c18)                      = <void>
> [pid 30323] strlen(0xbfff7590, 0x40330340, 0xbfff7568, 0x4027c3f4, 12) =
> 36
> [pid 30323] malloc(37)                            = 0x08151df0
> [pid 30323] strcpy(0x08151df0, "/var/lib/imap/quota/s/user.simix"...)
> 0x08151df0
> [pid 30323] fsync(17, 0x0811bcf2, 0xbfff9a78, 0x0809ce0e, 0xbfff9990) = 0
> [pid 30323] __fxstat(3, 17, 0xbfff9980)           = 0
> [pid 30323] rename(0x08151df0, 0x08150268, 0xbfff9980, 0x0809ce0e, 770) =
> 0
> [pid 30323] fcntl(17, 7, 0xbfff9940, 0x0809698e, 2) = 0
> [pid 30323] close(17)                             = 0
> [pid 30323] free(0x08151df0)                      = <void>
> [pid 30323] fcntl(16, 7, 0xbfff9940, 0x0809698e, 2) = 0
> [pid 30323] close(16)                             = 0
> [pid 30323] free(0x08150c00)                      = <void>
> [pid 30323] strcmp("/var/lib/imap/quota/s/user.simix",
> "/var/lib/imap/quota/s/user.simix") = 0
> [pid 30323] free(0x08150268)                      = <void>
> [pid 30323] free(0x0814fc70)                      = <void>
> [pid 30323] --- SIGSEGV (Segmentation fault) ---
> [pid 30323] +++ killed by SIGSEGV +++
> [pid 30312] --- SIGCHLD (Child exited) ---
> [pid 30312] breakpointed at 0x402b6b5d (?)
> [pid 30312] <... select resumed> )                = -1
> [pid 30312] waitpid(-1, 0xbfffe168, 1, 0x0804af6e, 0xbfffe168) = 30323
> [pid 30312] syslog(3, "process %d exited, signaled to d"..., 30323) =
> <void>
> [pid 30312] syslog(7, "service %s pid %d in BUSY state:"..., "imap",
> 30323) = <void>
> [pid 30312] time(NULL)                            = 1085391645
> [pid 30312] waitpid(-1, 0xbfffe168, 1, 30323, 0xbfffe168) = -1
>
>
>>
>>
>>>>
>>>>>(gdb) bt
>>>>>#0  0x080a0947 in hash_enumerate (table=0x8147de0, func=0x809d3c0
>>>>><enum_func>, rock=0xbfff9fe0) at hash.c:313
>>>>>#1  0x0809d449 in commit_txn (db=0x8147dd8, tid=0x8147de0) at
>>>>>cyrusdb_quotalegacy.c:715
>>>>>#2  0x0808bea5 in quota_commit (tid=0xbfffa07c) at quota_db.c:120
>>>>>#3  0x0807215b in mailbox_expunge (mailbox=0x812dc00, iscurrentdir=1,
>>>>>decideproc=0, deciderock=0x0) at mailbox.c:1863
>>>>>#4  0x08057dd4 in cmd_expunge (tag=0x81489a0 "A003", sequence=0x0) at
>>>>>imapd.c:3612
>>>>>#5  0x08050980 in cmdloop () at imapd.c:1026
>>>>>#6  0x0804f920 in service_main (argc=1, argv=0x813d410,
>>>>> envp=0xbfffe99c)
>>>>>at imapd.c:677
>>>>>#7  0x0804df29 in main (argc=1, argv=0xbfffe994, envp=0xbfffe99c) at
>>>>>service.c:557
>>>>>#8  0x40213657 in __libc_start_main (main=0x804d520 <main>, argc=1,
>>>>>ubp_av=0xbfffe994, init=0x804c0d4 <_init>, fini=0x80a3f50 <_fini>,
>>>>>    rtld_fini=0x4000dc54 <_dl_fini>, stack_end=0xbfffe98c) at
>>>>>../sysdeps/generic/libc-start.c:129
>>>>>
>>>>>
>>>>>---
>>>>>Cyrus Home Page: http://asg.web.cmu.edu/cyrus
>>>>>Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
>>>>>List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
>>>>>
>>>>
>>>>
>>>>--
>>>>Kenneth Murchison     Oceana Matrix Ltd.
>>>>Software Engineer     21 Princeton Place
>>>>716-662-8973 x26      Orchard Park, NY 14127
>>>>--PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp
>>>>
>>>>
>>>
>>>
>>>
>>> ---
>>> Cyrus Home Page: http://asg.web.cmu.edu/cyrus
>>> Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
>>> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
>>>
>>
>>
>> --
>> Kenneth Murchison     Oceana Matrix Ltd.
>> Software Engineer     21 Princeton Place
>> 716-662-8973 x26      Orchard Park, NY 14127
>> --PGP Public Key--    http://www.oceana.com/~ken/ksm.pgp
>>
>>
>
>
> ---
> Cyrus Home Page: http://asg.web.cmu.edu/cyrus
> Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
> List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html
>
>


---
Cyrus Home Page: http://asg.web.cmu.edu/cyrus
Cyrus Wiki/FAQ: http://cyruswiki.andrew.cmu.edu
List Archives/Info: http://asg.web.cmu.edu/cyrus/mailing-list.html




More information about the Info-cyrus mailing list