>> 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