The code works fine 98% of the time, but some users it seems to
core dump on them.  One user has this in their directory (8 Messages):

total 768
drwx------    2 cyrus    cyrus        4096 Nov 22 15:02 .
drwx------   80 cyrus    cyrus        4096 Nov 21 17:08 ..
-rw-------    1 cyrus    cyrus       87821 Oct 31 14:16 19.
-rw-------    1 cyrus    cyrus      108143 Nov  2 09:35 20.
-rw-------    1 cyrus    cyrus       66154 Nov  2 11:01 21.
-rw-------    1 cyrus    cyrus       57438 Nov  3 15:36 22.
-rw-------    1 cyrus    cyrus       99124 Nov  7 13:44 23.
-rw-------    1 cyrus    cyrus      168465 Nov  9 19:22 24.
-rw-------    1 cyrus    cyrus      111266 Nov 13 12:10 25.
-rw-------    1 cyrus    cyrus        8091 Nov 13 17:02 26.
-rw-------    1 cyrus    cyrus        8256 Nov 13 17:02 cyrus.cache
-rw-------    1 cyrus    cyrus         149 Nov 20 14:47 cyrus.header
-rw-------    1 cyrus    cyrus         460 Nov 13 17:02 cyrus.index
-rw-------    1 cyrus    cyrus           0 Sep 22 11:03 cyrus.seen

Cyrus blows up in the pop3d openinbox() code.  I manually 
changed the popd_exists (number of messages) to 3 and the
code works.  Does anyone know any reasons why this code
would core dump depending on the # of messages?  I rebooted
the server to clear out all the memory and the problem would still
persist.
 
 -Allan


   if (!r) {
        popd_exists = mboxstruct.exists;
        popd_exists = 3;
        syslog(LOG_NOTICE, "GOING TO DIE! 2: %d\n", popd_exists + 1);
        popd_highest = 0;
        syslog(LOG_NOTICE, "GOING TO DIE! 3: %d\n", (popd_exists+1) * sizeof(struct 
msg));
        popd_msg = (struct msg *)xmalloc((popd_exists+1) * sizeof(struct msg));
        syslog(LOG_NOTICE, "IT IS DEAD!!........ NEVER SEE THIS LINE: %d\n", 
popd_exists);
        for (msg = 1; msg <= popd_exists; msg++) {
            if (r = mailbox_read_index_record(&mboxstruct, msg, &record))
              break;
            popd_msg[msg].uid = record.uid;  
            popd_msg[msg].size = record.size;
            popd_msg[msg].deleted = 0;
        }
    }
   syslog(LOG_NOTICE, "NEVER GETS HERE!!\n");

<- Allan Rafuse ->
Systems Administrator
Freeview Publishing Inc.
email: [EMAIL PROTECTED]
web: http://www.freeview.com


Reply via email to