It sounds like HP/UX 11.00 doesn't have the required mmap() semantics needed for 
Cyrus, but it successfully fooling the configure tests.  If you force use of 
map_nommap instead of map_shared, you should end up with a correctly working program 
at a significant performance penalty.

Larry

--On Friday, March 09, 2001 12:24:25 PM +0100 Carlos Larrañaga <[EMAIL PROTECTED]> 
wrote:

> Hello,
>
>   I get the error "IOERROR: mapping index file for user.XXX: Not enough
>   space" when a client selects a mailbox. I've traced the process and it
>   seems to be a HPUX mmap problem when the imapd mmap's twice the index
>   file of the mailbox. How can I fix or workaround this problem ????
>
> Thanks and sorry for my bad english,
> Carlos.
>
>
> My configuration:
>
>        HP-UX 11.0 (with PHCO_22923 last libc cumulative patch)
>        Berkeley-db-3.2
>        cyrus-sasl-1.5.24
>        cyrus-imapd-2.0.12
>
> Syslog entries:
>
> Mar  8 14:24:18 maia syslog: unable to change limit of file descriptors
> available Mar  8 14:24:18 maia master[9390]: process started
> Mar  8 14:24:18 maia ctl_mboxlist[9391]: running mboxlist recovery
> Mar  8 14:24:58 maia ctl_mboxlist[9391]: done running mboxlist recovery
> Mar  8 14:25:00 maia master[9390]: ready for work
> Mar  8 14:25:00 maia ctl_mboxlist[9396]: checkpointing mboxlist
> Mar  8 14:26:41 maia imapd[9399]: login: clarra.cc.upv.es[158.42.252.7]
> clarra plaintext  Mar  8 14:26:42 maia imapd[9399]: IOERROR: mapping
> index file for user.clarra: Not enough space
>
> Process trace:
>
> [9399] write(15, "1   O K   U s e r   l o g g e d "..,
> 21)................................ = 21
> [9399] write(1, "1   O K   U s e r   l o g g e d "..,
> 21)................................. = 21
> [9399]
> time(NULL)...............................................................
> .......... = 984058001
> [9399] select(1, 0x7f7f1090, NULL, NULL,
> 0x7f7f1088)...................................... = 1
> [9399]
> time(NULL)...............................................................
> .......... = 984058001
> [9399] read(0, "2   n e t s c a p e \r\n",
> 4096).......................................... = 12
> [9399] write(15, "2   n e t s c a p e \r\n",
> 12).......................................... = 12
> [9399] open("/u/imap/msg/shutdown", O_RDONLY,
> 0).......................................... ERR#2 ENOENT
> [9399] select(1, 0x7f7f1090, NULL, NULL,
> 0x7f7f1088)...................................... = 0
> [9399] write(15, "*   O K   [ N E T S C A P E ]   "..,
> 156)............................... = 156
> [9399] write(1, "*   O K   [ N E T S C A P E ]   "..,
> 156)................................ = 156
> [9399]
> time(NULL)...............................................................
> .......... = 984058001
> [9399] select(1, 0x7f7f1090, NULL, NULL,
> 0x7f7f1088)...................................... = 1
> [9399]
> time(NULL)...............................................................
> .......... = 984058002
> [9399] read(0, "3   s e l e c t   " I N B O X " "..,
> 4096)................................ = 18
> [9399] write(15, "3   s e l e c t   " I N B O X " "..,
> 18)................................ = 18
> [9399]
> getpid().................................................................
> .......... = 9399 (9390)
> [9399]
> getpid().................................................................
> .......... = 9399 (9390)
> [9399] msem_init(0xc1144bd0,
> MSEM_UNLOCKED)............................................... = 0xc1144bd0
> [9399] pstat(PSTAT_DYNAMIC, 0x7f7f1d50, 2904, 1,
> 0)....................................... = 1
> [9399]
> getpid().................................................................
> .......... = 9399 (9390)
> [9399] lseek64(10, 8192,
> SEEK_SET)........................................................ = 8192
> [9399] read(10, "\0\0\001\0\0p 1 \0\0\001\0\0\0\0"..,
> 8192)............................... = 8192
> [9399]
> getpid().................................................................
> .......... = 9399 (9390)
> [9399]
> getpid().................................................................
> .......... = 9399 (9390)
> [9399]
> getpid().................................................................
> .......... = 9399 (9390)
> [9399] open("/u/default/c/user/clarra/cyrus.header", O_RDWR,
> 0)........................... = 16
> [9399] fstat(16,
> 0x7f7f2588)..............................................................
> = 0
> [9399] mmap(NULL, 152, PROT_READ, MAP_SHARED|MAP_VARIABLE|MAP_FILE, 16,
> NULL)............. = 0xc022b000
> [9399] open("/u/default/c/user/clarra/cyrus.index", O_RDWR,
> 0)............................ = 17
> [9399] fstat(17,
> 0x7f7f2588)..............................................................
> = 0
> [9399] mmap(NULL, 160, PROT_READ, MAP_SHARED|MAP_VARIABLE|MAP_FILE, 17,
> NULL)............. = 0xc0233000
> [9399] open("/u/default/c/user/clarra/cyrus.cache", O_RDWR,
> 0)............................ = 18
> [9399] fstat(18,
> 0x7f7f2588)..............................................................
> = 0
> [9399] mmap(NULL, 1836, PROT_READ, MAP_SHARED|MAP_VARIABLE|MAP_FILE, 18,
> NULL)............ = 0xc023b000
> [9399] fstat(17,
> 0x7f7f2588)..............................................................
> = 0
> [9399]
> chdir("/u/default/c/user/clarra")........................................
> .......... = 0
> [9399] mmap(NULL, 160, PROT_READ, MAP_SHARED|MAP_VARIABLE|MAP_FILE, 17,
> NULL)............. ERR#12 ENOMEM
>
>
> Found in http://devresource.hp.com/STKL/impacts/i18.html :
>
>     HP-UX mmap() has several semantic differences from Linux mmap().
>     HP-UX mmap() does not currently allow:
>
>       -overlapping pages in any mmap() calls
>       -two threads calling mmap() on the same page
>       -an mmap() of /dev/zero to access anonymous memory regions.
>       -the mmap() of a page as MAP_SHARED more than once. In a
>       multithreaded program, or a function where the calling function may
>       have mmap()ed, MAP_PRIVATE must be used.
>
>       This functionality will become available in the core HP-UX after
>       11i.
>
>
> --
> ________________________________________________________________________
>
> Carlos Larrañaga Cámara                 Mail: [EMAIL PROTECTED]
> Centro de Cálculo (Area Sistemas)       Tel.: (96) 387 70 76  Ext: 78712
> Universidad Politécnica de Valencia     Fax.: (96) 387 70 79
> ________________________________________________________________________




Reply via email to