Subject: "Message to save shrank!"

From: Joe Brennan <[email-masked]>
Date: Mon, 1 May 95 11:33:00 EDT

User here has got this twice now.  What should we be looking for as a
probable cause for a message "shrinking" by 10 bytes?  Brief details
attached... I don't want to post someone else's whole debug file
publicly.

Joseph Brennan     Academic Information Systems
                   Columbia University in the City of New York
                   [email-masked]

-----
Error displayed by pine:

[Message to save shrank!  (#5: 2316 --> 2306)]

-----
Section of .pine-debug:

q_status_message, Count 1, "Message to save shrank!  (#5: 2316 --> 2306)"
BOTCH: 5 save shrank mc->size == 2316, string == 2306 
FAILED save of msg-id <<Chameleon.4.01.2.950428225544.us003464@.interramp.com>>

-----
Comes from this place in mailcmd.c:

        /*
         * What's really needed is a way to pipe this crap right into
         * context_append...
         */
        /* set up string driver */
#ifdef  DOS
. . .[skip ahead]. . .
#else
        if((mlen = strlen((char *)so_text(so))) < message->rfc822_size){
            q_status_message3(1, 2, 4,
                          "\007Message to save shrank!  (#%ld: %ld --> %ld)",
                          (void *)message->msgno, (void *)message->rfc822_size,
                          (void *)mlen);
            dprint(1, (debugfile,
                   "BOTCH: %ld save shrank mc->size == %ld, string == %ld\n",
                   message->msgno, message->rfc822_size, mlen));
            so_give(&so);
            return(0);

---

From: Penio Penev <[email-masked]>
Date: Thu, 4 May 1995 20:37:35 GMT

[email-masked] (Joe Brennan) wrote:
>probable cause for a message "shrinking" by 10 bytes?

In the few cases it happened to me, this was due to NFS inconsistency problems.
On IRIX, it happens from time to time, when a message is delivered to a NFS
mounted texfile mailbox, which resides on another machine, and the delivery
program is on a differen machine, than the reading one.

The problem is that all of a sudden, a virtual page of 4K is being cleaned to
0es. When this happens in the middle of a message, pine gets confused.

To check whether this is the case, fire an editor, in which you can see 0es,
like emacs, on the NFS client host and see the contents of the message. I bet
you you'll see the 0es. On the other hand, emacs running locally on the NFS
server sees it right.

The quick fix in such situations is to save the damaged message form the local
emacs to a file, _before_ quitting pine. Another solution is to start a local
(to the NSF server) pine, and visit the mailbox in question, which will acquire
the lock from the remote one and prevent damage.

Solution? May be an IMAP server, serving local boxes.

Hope that helps,

-- 
Penio Penev <[email-masked]> 1-212-327-7423